.auth-page{background:linear-gradient(135deg,#4f6ef7 0%,#7c3aed 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:#fff;border-radius:16px;width:100%;max-width:380px;padding:36px 32px;box-shadow:0 8px 40px #0000002e}.auth-logo{text-align:center;margin-bottom:28px}.auth-logo-name{color:#4f6ef7;letter-spacing:-.5px;font-size:26px;font-weight:800}.auth-logo-sub{color:#6b7280;margin-top:4px;font-size:12px}.auth-fields{flex-direction:column;gap:14px;margin-bottom:20px;display:flex}.auth-fields label{color:#374151;flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.auth-fields input{border:1.5px solid #e5e7eb;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.auth-fields input:focus{border-color:#4f6ef7}.auth-error{color:#dc2626;text-align:center;min-height:18px;margin-bottom:12px;font-size:13px}.auth-footer{text-align:center;color:#6b7280;margin-top:18px;font-size:13px}.auth-footer a{color:#4f6ef7;cursor:pointer;font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.physio-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-input--error{border-color:#dc2626!important}.auth-input--error:focus{box-shadow:0 0 0 3px #dc262626;border-color:#dc2626!important}.auth-field-error{color:#dc2626;margin-top:2px;font-size:12px}:root{--teal-dark:#1a7f7f;--teal:#2aafaf;--teal-light:#3dd4cc;--teal-pale:#e6f7f7;--teal-card:#d0f0ee;--blue:#3b82f6;--blue-pale:#eff6ff;--purple:#8b5cf6;--purple-pale:#f5f3ff;--orange:#f59e0b;--orange-pale:#fffbeb;--red:#ef4444;--red-pale:#fef2f2;--green:#22c55e;--green-pale:#f0fdf4;--yellow:#eab308;--yellow-pale:#fefce8;--white:#fff;--gray-50:#f8fafb;--gray-100:#f0f4f5;--gray-200:#dde5e6;--gray-500:#7a9299;--gray-700:#3d5459;--gray-900:#1b2e31;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 1px 4px #0000000f;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #00000024;--font:"Segoe UI", system-ui, -apple-system, sans-serif}.physio-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:14px 16px;transition:box-shadow .14s}.physio-card:hover{box-shadow:var(--shadow-md)}.physio-card--inactive{opacity:.65}.physio-avatar{background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);width:38px;height:38px;color:var(--white);cursor:pointer;border:2px solid var(--teal-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.physio-avatar--sm{width:30px;height:30px;font-size:10px}.physio-avatar--md{width:36px;height:36px;font-size:11px}.physio-avatar--lg{border:none;width:38px;height:38px;font-size:12px}.physio-avatar--xl{border:3px solid var(--teal-light);width:64px;height:64px;margin-bottom:6px;font-size:26px;font-weight:800}.physio-avatar--light{background:linear-gradient(135deg, var(--teal-card) 0%, var(--teal-pale) 100%);color:var(--teal-dark);border:none}.physio-header-right{align-items:center;gap:10px;display:flex}.physio-bell{background:var(--gray-100);cursor:pointer;width:36px;height:36px;color:var(--gray-700);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .14s,color .14s;display:flex;position:relative}.physio-bell:hover,.physio-bell:focus-visible{background:var(--teal-pale);color:var(--teal-dark)}.physio-bell:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.physio-bell-dot{background:var(--red);border:2px solid var(--white);border-radius:50%;width:8px;height:8px;position:absolute;top:5px;right:5px}.physio-search-wrap{padding:14px 20px 0}.physio-search{background:var(--white);border:1.5px solid var(--gray-200);box-shadow:var(--shadow-sm);border-radius:50px;align-items:center;gap:10px;padding:10px 16px;display:flex}.physio-search-icon{color:var(--gray-500);flex-shrink:0;align-items:center;display:flex}.physio-search input{color:var(--gray-700);width:100%;font-size:14px;font-family:var(--font);background:0 0;border:none;outline:none}.physio-search input::placeholder{color:var(--gray-500)}.physio-search--inline{flex:1;min-width:0;max-width:340px}.physio-section{padding:20px 20px 0}.physio-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.physio-section-header h2{color:var(--gray-900);font-size:15px;font-weight:700}.physio-see-all{color:var(--teal);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font);background:0 0;border:none;padding:0}.physio-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.physio-stat-card{background:var(--white);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);padding:14px 10px}.physio-stat-card--accent{background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);border-color:#0000}.physio-stat-card--accent .stat-icon{color:#ffffffd9}.physio-stat-card--accent .stat-value,.physio-stat-card--accent .stat-label{color:var(--white)!important}.stat-icon{color:var(--teal);justify-content:center;align-items:center;display:flex}.stat-value{color:var(--gray-900);margin-top:5px;font-size:22px;font-weight:800;line-height:1}.stat-label{color:var(--gray-500);margin-top:3px;font-size:10px;font-weight:500;line-height:1.3}.physio-quick-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.physio-quick-action{border-radius:var(--radius-md);cursor:pointer;font-family:var(--font);text-align:left;box-shadow:var(--shadow-sm);border:none;align-items:center;gap:10px;padding:14px;font-size:13px;font-weight:600;transition:transform .14s,box-shadow .14s;display:flex}.physio-quick-action:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.physio-quick-action--teal{background:var(--teal-pale);color:var(--teal-dark)}.physio-quick-action--blue{background:var(--blue-pale);color:#1d4ed8}.physio-quick-action--purple{background:var(--purple-pale);color:#5b21b6}.physio-quick-action--orange{background:var(--orange-pale);color:#92400e}.physio-qa-icon{flex-shrink:0;align-items:center;display:flex}.physio-qa-label{line-height:1.3}.physio-schedule-list{flex-direction:column;gap:8px;display:flex}.physio-schedule-item{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);border-left:4px solid var(--gray-200);align-items:center;gap:10px;padding:12px 14px;transition:box-shadow .14s;display:flex}.physio-schedule-item:hover{box-shadow:var(--shadow-md)}.physio-schedule-item--done{border-left-color:var(--green)}.physio-schedule-item--present,.physio-schedule-item--waiting{border-left-color:var(--yellow)}.physio-schedule-item--absent{border-left-color:var(--red)}.physio-schedule-time{color:var(--gray-700);flex-shrink:0;min-width:40px;font-size:13px;font-weight:700}.physio-schedule-avatar{background:linear-gradient(135deg, var(--teal-card) 0%, var(--teal-pale) 100%);width:36px;height:36px;color:var(--teal-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.physio-schedule-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.physio-schedule-name{color:var(--gray-900);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.physio-schedule-diag{color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.physio-schedule-sessions{color:var(--teal);font-size:10px;font-weight:600}.physio-schedule-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.physio-status-badge{white-space:nowrap;border-radius:50px;align-items:center;gap:4px;padding:3px 9px;font-size:10px;font-weight:700;display:inline-flex}.physio-status-badge--done{background:var(--green-pale);color:#15803d}.physio-status-badge--present,.physio-status-badge--waiting{background:var(--yellow-pale);color:#854d0e}.physio-status-badge--absent{background:var(--red-pale);color:#b91c1c}.physio-status-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.physio-status-btn{cursor:pointer;font-size:10px;font-weight:700;font-family:var(--font);white-space:nowrap;border:none;border-radius:50px;padding:3px 8px;transition:opacity .14s}.physio-status-btn:hover{opacity:.8}.physio-status-btn--present{background:var(--yellow-pale);color:#854d0e}.physio-status-btn--absent{background:var(--red-pale);color:#b91c1c}.physio-status-btn--done{background:var(--green-pale);color:#15803d}.physio-evolucao-btn{color:var(--teal-dark);background:var(--teal-pale);border:1.5px solid var(--teal-card);cursor:pointer;font-size:10px;font-weight:700;font-family:var(--font);white-space:nowrap;border-radius:50px;padding:3px 10px;transition:background .14s,color .14s}.physio-evolucao-btn:hover{background:var(--teal);color:var(--white);border-color:var(--teal)}.physio-recent-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.physio-recent-card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);cursor:pointer;flex-direction:column;gap:8px;padding:14px;transition:transform .14s,box-shadow .14s;display:flex}.physio-recent-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.physio-recent-header{align-items:center;gap:8px;display:flex}.physio-recent-avatar{background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);width:30px;height:30px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.physio-recent-name-wrap{flex-direction:column;min-width:0;display:flex}.physio-recent-name{color:var(--gray-900);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.physio-recent-status{border-radius:50px;align-self:flex-start;margin-top:2px;padding:1px 6px;font-size:9px;font-weight:600}.physio-recent-status.active{background:var(--green-pale);color:#15803d}.physio-recent-status.inactive{background:var(--gray-100);color:var(--gray-500)}.physio-recent-diag{color:var(--gray-500);font-size:11px;line-height:1.4}.physio-recent-meta{color:var(--gray-500);flex-direction:column;gap:2px;font-size:10px;display:flex}.physio-recent-sessions{color:var(--teal);font-size:11px;font-weight:700}.physio-recent-btn{color:var(--teal);border:1.5px solid var(--teal-card);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font);background:0 0;border-radius:50px;width:100%;margin-top:2px;padding:5px 0;transition:background .14s,color .14s}.physio-recent-btn:hover{background:var(--teal);color:var(--white);border-color:var(--teal)}.physio-recent-btn-row{gap:6px;margin-top:2px;display:flex}.physio-recent-btn-row .physio-recent-btn{flex:1}.physio-recent-btn--outline{border-color:var(--teal);color:var(--teal);background:0 0;flex:none;padding:5px 10px}.physio-recent-btn--outline:hover{background:var(--teal);color:var(--white)}.physio-lgpd-notice{color:var(--gray-500);background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--gray-200);justify-content:center;align-items:center;gap:5px;margin:16px 20px 24px;padding:7px;font-size:10px;display:flex}.physio-next-strip{flex-direction:column;gap:8px;display:flex}.physio-next-item{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);border-left:4px solid var(--gray-200);align-items:center;gap:10px;padding:11px 14px;display:flex}.physio-next-item--done{border-left-color:var(--green)}.physio-next-item--present,.physio-next-item--waiting{border-left-color:var(--yellow)}.physio-next-item--absent{border-left-color:var(--red)}.physio-next-time{color:var(--gray-700);flex-shrink:0;min-width:40px;font-size:13px;font-weight:700}.physio-next-avatar{background:linear-gradient(135deg, var(--teal-card) 0%, var(--teal-pale) 100%);width:30px;height:30px;color:var(--teal-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.physio-next-name{color:var(--gray-900);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.mt-12{margin-top:12px}.mb-20{margin-bottom:20px}.physio-nav{background:var(--white);border-top:1px solid var(--gray-200);flex-shrink:0;align-items:stretch;height:72px;padding:0 4px 8px;display:flex;box-shadow:0 -4px 16px #0000000f}.physio-nav-item{cursor:pointer;border-radius:var(--radius-sm);font-family:var(--font);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px 0;text-decoration:none;transition:background .14s;display:flex}.physio-nav-item:hover{background:var(--gray-100)}.physio-nav-item.active .nav-icon{color:var(--teal)}.physio-nav-item.active .nav-icon svg{stroke:var(--teal)}.physio-nav-item.active .nav-label{color:var(--teal);font-weight:700}.nav-icon{color:var(--gray-500);align-items:center;display:flex}.nav-label{color:var(--gray-500);font-size:10px;font-weight:500}.physio-nav-item.active .nav-indicator{background:var(--teal);border-radius:50%;width:4px;height:4px;margin-top:1px}.physio-desktop-shell{background:var(--gray-100);min-height:100vh;font-family:var(--font);display:flex}.physio-sidebar{background:var(--white);border-right:1px solid var(--gray-200);width:220px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.physio-sidebar-logo{border-bottom:1px solid var(--gray-100);color:inherit;align-items:center;gap:10px;padding:24px 20px 20px;text-decoration:none;display:flex}.physio-sidebar-logo:focus-visible{outline:2px solid var(--teal);outline-offset:-4px}.physio-sidebar-logo-icon{background:linear-gradient(135deg, var(--teal-light) 0%, var(--teal-dark) 100%);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.physio-sidebar-logo-text{color:var(--gray-900);letter-spacing:-.3px;font-size:18px;font-weight:800}.physio-sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:16px 10px;display:flex;overflow-y:auto}.physio-sidebar-nav-item{border-radius:var(--radius-md);cursor:pointer;color:var(--gray-500);text-align:left;width:100%;font-size:14px;font-weight:500;font-family:var(--font);background:0 0;border:none;align-items:center;gap:12px;padding:11px 12px;text-decoration:none;transition:background .14s,color .14s;display:flex;position:relative}.physio-sidebar-nav-item:hover{background:var(--gray-100);color:var(--gray-900)}.physio-sidebar-nav-item.active{background:var(--teal-pale);color:var(--teal-dark);font-weight:700}.physio-sidebar-active-bar{background:var(--teal);border-radius:0 4px 4px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.physio-sidebar-nav-icon{width:24px;color:inherit;flex-shrink:0;align-items:center;display:flex}.physio-sidebar-footer{border-top:1px solid var(--gray-100);flex-direction:column;gap:8px;padding:12px;display:flex}.physio-sidebar-lgpd{color:var(--gray-500);background:var(--gray-50);border-radius:var(--radius-sm);border:1px solid var(--gray-200);justify-content:center;align-items:center;gap:4px;padding:5px;font-size:10px;display:flex}.physio-sidebar-user{border-radius:var(--radius-md);cursor:pointer;font-family:var(--font);text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px;transition:background .14s;display:flex}.physio-sidebar-user:hover{background:var(--gray-100)}.physio-sidebar-avatar{flex-shrink:0;width:34px!important;height:34px!important;font-size:13px!important}.physio-sidebar-user-info{flex-direction:column;min-width:0;display:flex}.physio-sidebar-user-name{color:var(--gray-900);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.physio-sidebar-user-role{color:var(--gray-500);font-size:10px}.physio-desktop-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.physio-topbar{background:var(--white);border-bottom:1px solid var(--gray-200);z-index:10;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:20px;padding:16px 32px;display:flex;position:sticky;top:0}.physio-topbar-left{min-width:0}.physio-topbar-title{color:var(--gray-900);font-size:18px;font-weight:700;line-height:1.2}.physio-topbar-sub{color:var(--gray-500);margin-top:2px;font-size:12px}.physio-topbar-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.physio-topbar-search{width:300px;margin:0}.physio-topbar-search .physio-search{width:100%}.physio-desktop-grid{flex-direction:column;gap:24px;padding:28px 32px;display:flex}.physio-desktop-top-row{flex-direction:column;gap:16px;display:flex}.physio-desktop-top-row .physio-stats{grid-template-columns:repeat(3,1fr)}.physio-desktop-top-row .physio-stat-card{text-align:left;flex-direction:row;align-items:center;gap:14px;padding:16px 20px;display:flex}.physio-desktop-top-row .stat-icon{flex-shrink:0;font-size:28px}.physio-desktop-top-row .stat-value{margin-top:0;font-size:26px}.physio-desktop-top-row .stat-label{margin-top:2px;font-size:12px}.physio-desktop-qa-row .physio-quick-actions{grid-template-columns:repeat(4,1fr)}.physio-desktop-bottom-row{grid-template-columns:3fr 2fr;align-items:start;gap:24px;display:grid}.physio-desktop-schedule-col,.physio-desktop-rec-col{flex-direction:column;display:flex}.physio-desktop-schedule-col .physio-section-header,.physio-desktop-rec-col .physio-section-header{margin-bottom:12px}.physio-desktop-schedule-col .physio-schedule-item{padding:14px 18px}.physio-desktop-schedule-col .physio-schedule-name{font-size:14px}.physio-desktop-schedule-col .physio-schedule-diag{font-size:12px}.physio-desktop-rec-col .physio-recent-grid{grid-template-columns:1fr 1fr}@media (width<=900px){.physio-sidebar{width:64px}.physio-sidebar-logo-text,.physio-sidebar-nav-label,.physio-sidebar-user-info,.physio-sidebar-lgpd{display:none}.physio-sidebar-logo{justify-content:center;padding:20px 0}.physio-sidebar-nav-item{justify-content:center;padding:12px}.physio-sidebar-user{justify-content:center}.physio-desktop-bottom-row{grid-template-columns:1fr}.physio-desktop-qa-row .physio-quick-actions{grid-template-columns:repeat(2,1fr)}.physio-topbar-search{width:180px}}.physio-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.physio-modal{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;font-family:var(--font);scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent;overflow-y:auto}.physio-modal--lg{max-width:680px}.physio-modal--xl{max-width:860px}.physio-modal-header{border-bottom:1px solid var(--gray-100);background:var(--white);z-index:1;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;display:flex;position:sticky;top:0}.physio-modal-header h2{color:var(--gray-900);font-size:17px;font-weight:700;line-height:1.2}.physio-modal-sub{color:var(--gray-500);margin-top:3px;font-size:12px}.physio-modal-close{background:var(--gray-100);cursor:pointer;width:30px;height:30px;color:var(--gray-700);font-size:14px;font-family:var(--font);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .14s;display:flex}.physio-modal-close:hover{background:var(--gray-200)}.physio-form{flex-direction:column;gap:14px;padding:20px 24px;display:flex}.physio-form label{color:var(--gray-700);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.physio-form input,.physio-form textarea{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);color:var(--gray-900);font-size:13px;font-family:var(--font);background:var(--gray-50);resize:vertical;outline:none;padding:9px 12px;transition:border-color .14s}.physio-form input:focus,.physio-form textarea:focus{border-color:var(--teal);background:var(--white)}.physio-input--error{border-color:var(--red)!important;background:var(--red-pale)!important}.physio-select{border:1.5px solid var(--gray-200);border-radius:var(--radius-md);width:100%;color:var(--gray-900);background:var(--white);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:8px 12px;font-size:13px}.physio-select:focus{border-color:var(--teal);background-color:var(--white);outline:none}.physio-input-label{display:block}.physio-input-optional{color:var(--gray-400);font-size:11px;font-weight:400}.physio-field-error{color:var(--red);margin-top:3px;font-size:11px;font-weight:500;display:block}.physio-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.physio-form-actions{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:10px;padding-top:6px;display:flex}.physio-session-slots{flex-direction:column;gap:6px;display:flex}.physio-slot-row{grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:10px;display:grid}.physio-slot-row label{flex-direction:column;gap:5px;display:flex}.physio-remove-slot-btn{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-50);width:34px;height:36px;color:var(--gray-500);cursor:pointer;font-family:var(--font);justify-content:center;align-items:center;transition:background .14s,color .14s,border-color .14s;display:flex}.physio-remove-slot-btn:hover{background:var(--red-pale);color:var(--red);border-color:var(--red)}.physio-add-slot-btn{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);color:var(--teal);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font);background:0 0;align-self:flex-start;align-items:center;gap:4px;padding:6px 12px;display:inline-flex}.physio-add-slot-btn:hover{background:var(--teal-pale);border-color:var(--teal)}.physio-btn-primary{background:var(--teal);color:var(--white);cursor:pointer;font-size:13px;font-weight:700;font-family:var(--font);white-space:nowrap;border:none;border-radius:50px;padding:9px 20px;transition:background .14s,transform .1s}.physio-btn-primary:hover{background:var(--teal-dark);transform:translateY(-1px)}.physio-btn-secondary{background:var(--gray-100);color:var(--gray-700);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);border:none;border-radius:50px;padding:9px 20px;transition:background .14s}.physio-btn-secondary:hover{background:var(--gray-200)}.physio-btn-sm{padding:6px 14px;font-size:12px}.physio-action-btn{color:var(--gray-700);background:var(--gray-100);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font);white-space:nowrap;border:none;border-radius:50px;padding:5px 10px;transition:background .14s,color .14s}.physio-action-btn:hover{background:var(--gray-200)}.physio-action-btn--danger{background:var(--red-pale);color:#b91c1c}.physio-action-btn--danger:hover{background:var(--red);color:var(--white)}.physio-action-btn--success{background:var(--green-pale);color:#15803d}.physio-action-btn--success:hover{background:var(--green);color:var(--white)}.physio-picker-search{background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:50px;align-items:center;gap:10px;margin:0 24px 4px;padding:9px 16px;display:flex}.physio-picker-search input{color:var(--gray-700);width:100%;font-size:13px;font-family:var(--font);background:0 0;border:none;outline:none}.physio-picker-list{flex-direction:column;gap:2px;max-height:380px;padding:8px 12px 16px;display:flex;overflow-y:auto}.physio-picker-item{border-radius:var(--radius-md);cursor:pointer;font-family:var(--font);text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .14s;display:flex}.physio-picker-item:hover{background:var(--teal-pale)}.physio-picker-new-patient{border:1.5px dashed var(--teal);border-radius:var(--radius-md);background:var(--teal-pale);width:calc(100% - 24px);color:var(--teal);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);align-items:center;gap:8px;margin:8px 12px 4px;padding:10px 14px;transition:background .14s;display:flex}.physio-picker-new-patient:hover{background:color-mix(in srgb, var(--teal) 12%, white)}.physio-picker-avatar{background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);width:38px;height:38px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.physio-picker-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.physio-picker-name{color:var(--gray-900);font-size:13px;font-weight:700}.physio-picker-meta{color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.physio-assessment-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--teal-dark);border-bottom:1.5px solid var(--teal-pale);margin-top:4px;padding:4px 0 2px;font-size:11px;font-weight:700}.physio-record-body{flex-direction:column;gap:20px;padding:0 24px 24px;display:flex}.physio-record-section{flex-direction:column;gap:12px;display:flex}.physio-record-section h3{color:var(--teal-dark);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:700}.physio-record-section-header{justify-content:space-between;align-items:center;display:flex}.physio-record-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.physio-record-grid>div{background:var(--gray-50);border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.physio-record-grid span{color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:600}.physio-record-grid strong{color:var(--gray-900);font-size:13px;font-weight:600}.physio-text-green{color:#15803d}.physio-text-gray{color:var(--gray-500)}.physio-evolutions-list{flex-direction:column;gap:10px;display:flex}.physio-evolution-card{border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);flex-direction:column;gap:8px;padding:14px;display:flex}.physio-evolution-header{justify-content:space-between;align-items:center;display:flex}.physio-evolution-date{color:var(--gray-700);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.physio-evolution-session{color:var(--teal);background:var(--teal-pale);border-radius:50px;padding:2px 8px;font-size:11px;font-weight:700}.physio-evolution-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.physio-evolution-card>div,.physio-evolution-row>div{flex-direction:column;gap:3px;display:flex}.physio-evolution-card span{color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:700}.physio-evolution-card p{color:var(--gray-700);margin:0;font-size:12px;line-height:1.5}.physio-card-toggle{cursor:pointer;width:100%;font-family:var(--font);text-align:left;color:inherit;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.physio-card-toggle:hover .physio-evolution-session{background:color-mix(in srgb, var(--teal) 20%, white)}.physio-card-toggle .physio-evolution-session{margin-right:auto}.physio-card-body{border-top:1px solid var(--gray-100);flex-direction:column;gap:8px;padding-top:8px;display:flex}.physio-card-body>div,.physio-card-body .physio-evolution-row>div{flex-direction:column;gap:3px;display:flex}.physio-card-body span{color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:700}.physio-card-body p{color:var(--gray-700);margin:0;font-size:12px;line-height:1.5}.physio-card-actions{justify-content:flex-end;padding-top:4px;display:flex}.physio-record-footer{color:var(--gray-500);border-top:1px solid var(--gray-100);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;padding:10px 0 0;font-size:10px;display:flex}.physio-record-footer-lgpd{align-items:center;gap:4px;display:flex}.physio-professional-id{align-items:center;gap:8px;display:flex}.physio-professional-stamp{object-fit:contain;border:1px solid var(--gray-200);border-radius:var(--radius-sm);width:48px;height:48px;padding:2px}.physio-professional-info{text-align:right;flex-direction:column;gap:1px;display:flex}.physio-professional-name{color:var(--gray-900);font-size:11px;font-weight:700}.physio-professional-crefito{color:var(--gray-500);font-size:10px}.physio-empty-text{color:var(--gray-500);text-align:center;padding:16px 0;font-size:13px}.physio-attendance-board{flex-direction:column;gap:10px;display:flex}.physio-attendance-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.physio-attendance-nav{border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-50);width:28px;height:28px;color:var(--gray-700);cursor:pointer;justify-content:center;align-items:center;transition:background .15s;display:flex}.physio-attendance-nav:hover{background:var(--teal-pale);color:var(--teal-dark);border-color:var(--teal-light)}.physio-attendance-title{color:var(--gray-900);text-align:center;min-width:130px;font-size:13px;font-weight:700}.physio-attendance-weekdays{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.physio-attendance-weekdays span{color:var(--gray-500);text-transform:uppercase;padding:2px 0;font-size:10px;font-weight:600}.physio-attendance-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.physio-attendance-day{aspect-ratio:1;cursor:default;border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:500;transition:transform .1s;display:flex}.physio-attendance-day--blank{background:0 0}.physio-attendance-day--present{background:var(--green);color:#fff;font-weight:700}.physio-attendance-day--pending{background:var(--yellow-pale);color:var(--yellow-dark,#854d0e);border:1px solid #fde68a}.physio-attendance-day--absent{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.physio-attendance-day--future{color:var(--gray-500);border:1px dashed var(--gray-200);background:0 0}.physio-attendance-day--today{outline:2px solid var(--teal);outline-offset:1px}.physio-attendance-summary{color:var(--gray-500);border-top:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding-top:4px;font-size:11px;display:flex}.physio-attendance-legend{align-items:center;gap:5px;display:flex}.physio-attendance-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.physio-attendance-dot--present{background:var(--green)}.physio-attendance-dot--pending{background:var(--yellow,#eab308)}.physio-attendance-dot--absent{background:#ef4444}.physio-tab-view{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.physio-tab-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.physio-tab-title{color:var(--gray-900);font-size:15px;font-weight:700}.physio-tab-badges{gap:6px;display:flex}.physio-badge{background:var(--gray-100);color:var(--gray-700);white-space:nowrap;border-radius:50px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.physio-badge--present{background:var(--green-pale);color:#15803d}.physio-badge--waiting{background:var(--yellow-pale);color:#854d0e}.physio-patient-list{flex-direction:column;gap:6px;display:flex}.physio-patient-row{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 14px;transition:box-shadow .14s;display:flex}.physio-patient-row:hover{box-shadow:var(--shadow-md)}.physio-patient-row--inactive{opacity:.65}.physio-patient-avatar{background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);width:38px;height:38px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.physio-patient-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.physio-patient-name{color:var(--gray-900);font-size:13px;font-weight:700}.physio-patient-diag{color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.physio-patient-meta{color:var(--teal);font-size:10px;font-weight:600}.physio-patient-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.physio-list{flex-direction:column;gap:8px;display:flex}.physio-list--sm{gap:4px}.physio-list--lg{gap:12px}.physio-empty-state{color:var(--gray-500);flex-direction:column;align-items:center;gap:12px;padding:32px 16px;font-size:14px;display:flex}.physio-toast{background:var(--gray-900);color:#fff;border-radius:var(--radius-lg);cursor:pointer;z-index:9999;white-space:nowrap;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:500;animation:.2s physio-toast-in;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000040}.physio-toast svg{color:var(--green);flex-shrink:0}@keyframes physio-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.physio-confirm-body{flex-direction:column;gap:20px;padding:0 24px 24px;display:flex}.physio-confirm-message{color:var(--gray-700);margin:0;font-size:14px;line-height:1.6}.physio-filter-bar{gap:6px;padding:0 0 12px;display:flex}.physio-filter-btn{border-radius:var(--radius-lg);border:1.5px solid var(--gray-200);background:var(--white);color:var(--gray-700);cursor:pointer;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.physio-filter-btn:hover{border-color:var(--teal-light);color:var(--teal-dark)}.physio-filter-btn--active{background:var(--teal-pale);border-color:var(--teal);color:var(--teal-dark)}.physio-filter-count{background:var(--gray-100);color:var(--gray-500);text-align:center;border-radius:10px;min-width:18px;padding:1px 5px;font-size:10px;font-weight:700}.physio-filter-btn--active .physio-filter-count{background:var(--teal);color:#fff}.physio-more-profile{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:24px 16px 16px;display:flex}.physio-more-avatar{background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);width:64px;height:64px;color:var(--white);border:3px solid var(--teal-light);border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;font-size:26px;font-weight:800;display:flex}.physio-more-profile h3{color:var(--gray-900);font-size:16px;font-weight:700}.physio-more-profile p{color:var(--gray-500);font-size:12px}.physio-more-prof-id{border:1px solid var(--gray-200);border-radius:var(--radius-md);margin:0 16px 12px;overflow:hidden}.physio-more-prof-id-header{background:var(--gray-50);border-bottom:1px solid var(--gray-200);color:var(--gray-700);align-items:center;gap:6px;padding:8px 12px;font-size:11px;font-weight:600;display:flex}.physio-more-prof-id-body{align-items:center;gap:12px;padding:12px;display:flex}.physio-more-stamp{object-fit:contain;border:1px solid var(--gray-200);border-radius:var(--radius-sm);flex-shrink:0;width:64px;height:64px}.physio-more-stamp-placeholder{border:1.5px dashed var(--gray-200);border-radius:var(--radius-sm);width:64px;height:64px;color:var(--gray-500);text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;font-size:9px;display:flex}.physio-more-prof-id-info{flex-direction:column;flex:1;gap:8px;display:flex}.physio-more-prof-id-info>div{flex-direction:column;gap:1px;display:flex}.physio-more-prof-id-info span{color:var(--gray-500);font-size:10px;font-weight:500}.physio-more-prof-id-info strong{color:var(--gray-900);font-size:12px;font-weight:600}.physio-more-list{flex-direction:column;gap:2px;display:flex}.physio-more-item{background:var(--white);border-radius:var(--radius-md);cursor:pointer;color:var(--gray-700);font-size:14px;font-weight:500;font-family:var(--font);text-align:left;box-shadow:var(--shadow-sm);border:none;align-items:center;gap:14px;padding:14px 16px;transition:background .14s;display:flex}.physio-more-item:hover{background:var(--gray-100)}.physio-more-icon{width:24px;color:var(--teal);flex-shrink:0;align-items:center;display:flex}.physio-more-chevron{color:var(--gray-500);margin-left:auto}.physio-more-logout{border-radius:var(--radius-md);cursor:pointer;color:#d9534f;width:100%;font-size:14px;font-weight:500;font-family:var(--font);background:0 0;border:none;align-items:center;gap:10px;margin:12px 0 8px;padding:12px 16px;transition:background .14s;display:flex}.physio-more-logout:hover{background:#fff0f0}.physio-modal-body{flex-direction:column;gap:16px;padding:20px 24px 24px;display:flex}.physio-notif-list{gap:0}.physio-notif-feed{border-bottom:1px solid var(--gray-100);flex-direction:column;gap:10px;padding-bottom:14px;display:flex}.physio-notif-feed-header{color:var(--gray-700);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.physio-notif-feed-header strong{color:var(--teal-dark);font-size:12px}.physio-notif-items{flex-direction:column;gap:8px;display:flex}.physio-notif-card{border:1px solid var(--gray-100);border-left:4px solid var(--teal);border-radius:var(--radius-sm);background:var(--white);align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.physio-notif-card--appointment_confirmed{border-left-color:var(--green)}.physio-notif-card--evolution_pending{border-left-color:var(--orange)}.physio-notif-card-icon{background:var(--teal-pale);width:28px;height:28px;color:var(--teal-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.physio-notif-card--appointment_confirmed .physio-notif-card-icon{background:var(--green-pale);color:#15803d}.physio-notif-card--evolution_pending .physio-notif-card-icon{background:var(--orange-pale);color:#92400e}.physio-notif-card-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.physio-notif-card-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.physio-notif-card-title strong{color:var(--gray-900);font-size:13px}.physio-notif-card-title span{color:var(--gray-500);flex-shrink:0;font-size:11px}.physio-notif-card-copy p{color:var(--gray-500);font-size:12px;line-height:1.4}.physio-notif-state{border-radius:var(--radius-sm);background:var(--gray-50);color:var(--gray-500);align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}.physio-notif-state--error{background:var(--red-pale);color:var(--red)}.physio-notif-row{border-bottom:1px solid var(--gray-100);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.physio-notif-row:last-child{border-bottom:none}.physio-notif-info{flex-direction:column;gap:2px;display:flex}.physio-notif-label{color:var(--gray-900);align-items:center;gap:5px;font-size:14px;font-weight:500;display:inline-flex}.physio-notif-desc{color:var(--gray-500);font-size:12px}.physio-toggle{background:var(--gray-200);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.physio-toggle:disabled{cursor:not-allowed;opacity:.7}.physio-toggle:after{content:"";background:var(--white);border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.physio-toggle--on{background:var(--teal)}.physio-toggle--on:after{transform:translate(20px)}.physio-lgpd-body{gap:14px}.physio-lgpd-updated{color:var(--gray-500);font-size:11px}.physio-lgpd-body section{flex-direction:column;gap:4px;display:flex}.physio-lgpd-body h3{color:var(--gray-900);font-size:13px;font-weight:600}.physio-lgpd-body p{color:var(--gray-700);font-size:13px;line-height:1.5}.physio-lgpd-link{color:var(--teal);text-decoration:none}.physio-lgpd-link:hover{text-decoration:underline}.physio-relatorios-desc{color:var(--gray-700);font-size:13px}.physio-relatorios-list{flex-direction:column;gap:8px;display:flex}.physio-relatorio-item{border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50);align-items:center;gap:14px;padding:14px;display:flex}.physio-relatorio-icon{color:var(--teal);flex-shrink:0}.physio-relatorio-info{flex-direction:column;flex:1;gap:2px;display:flex}.physio-relatorio-label{color:var(--gray-900);font-size:13px;font-weight:500}.physio-relatorio-sub{color:var(--gray-500);font-size:11px}.physio-config-notice{color:var(--gray-500);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:10px 14px;font-size:12px}.physio-config-form{flex-direction:column;gap:14px;display:flex}.physio-config-field{flex-direction:column;gap:5px;display:flex}.physio-config-label{color:var(--gray-700);font-size:12px;font-weight:600}.physio-config-input{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);color:var(--gray-700);background:var(--gray-100);font-size:14px;font-family:var(--font);cursor:not-allowed;opacity:.7;padding:10px 12px}.physio-config-input:not(:disabled){background:var(--white);cursor:text;opacity:1}.physio-config-input:not(:disabled):focus{border-color:var(--primary);outline:none}.physio-config-stamp-area{border:1.5px dashed var(--gray-200);border-radius:var(--radius-sm);flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.physio-config-stamp-preview{object-fit:contain;border:1px solid var(--gray-200);border-radius:var(--radius-sm);max-width:160px;max-height:80px}.physio-config-file-input{display:none}.physio-config-upload-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:6px;padding:7px 14px;font-size:13px;display:inline-flex}.physio-config-upload-btn:disabled{opacity:.6;cursor:not-allowed}.physio-config-stamp-hint{color:var(--gray-500);font-size:12px}.physio-config-stamp-success{color:var(--green-600,#16a34a);align-items:center;gap:4px;font-size:13px;display:inline-flex}.physio-config-stamp-error{color:var(--red-600,#dc2626);align-items:center;gap:4px;font-size:13px;display:inline-flex}@keyframes physio-spin{to{transform:rotate(360deg)}}.physio-spin{animation:.8s linear infinite physio-spin}.physio-faq-list{flex-direction:column;display:flex}.physio-faq-item{border-bottom:1px solid var(--gray-100)}.physio-faq-item:last-child{border-bottom:none}.physio-faq-question{cursor:pointer;width:100%;color:var(--gray-900);font-size:14px;font-weight:500;font-family:var(--font);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.physio-faq-chevron{color:var(--gray-500);flex-shrink:0;transition:transform .2s}.physio-faq-chevron--open{transform:rotate(180deg)}.physio-faq-answer{color:var(--gray-700);padding-bottom:14px;font-size:13px;line-height:1.55}.physio-ajuda-contact{text-align:center;flex-direction:column;align-items:center;gap:4px;margin-top:4px;display:flex}.physio-ajuda-contact p{color:var(--gray-500);font-size:13px}.physio-ajuda-email{color:var(--teal);font-size:14px;font-weight:600;text-decoration:none}.physio-ajuda-email:hover{text-decoration:underline}.physio-desktop-grid .physio-tab-view{padding:0}.physio-mobile .physio-schedule-item{flex-wrap:wrap;gap:6px;padding:10px 12px}.physio-mobile .physio-schedule-time{min-width:36px;font-size:12px}.physio-mobile .physio-schedule-avatar{width:30px;height:30px;font-size:10px}.physio-mobile .physio-schedule-name{font-size:12px}.physio-mobile .physio-schedule-diag{font-size:10px}.physio-mobile .physio-schedule-sessions{font-size:9px}.physio-mobile .physio-schedule-right{flex-flow:wrap;align-items:center;gap:4px;width:100%}.physio-mobile .physio-status-badge{padding:2px 7px;font-size:9px}.physio-mobile .physio-status-actions{flex-wrap:wrap}.physio-mobile .physio-status-btn{padding:3px 7px;font-size:9px}.physio-mobile .physio-evolucao-btn{padding:3px 9px;font-size:9px}.physio-mobile .physio-patient-row{flex-wrap:wrap;gap:8px;padding:10px 12px}.physio-mobile .physio-patient-avatar{width:32px;height:32px;font-size:10px}.physio-mobile .physio-patient-name{font-size:12px}.physio-mobile .physio-patient-diag{font-size:10px}.physio-mobile .physio-patient-meta{font-size:9px}.physio-mobile .physio-recent-status{padding:1px 5px;font-size:8px}.physio-mobile .physio-patient-actions{justify-content:flex-start;width:100%;margin-top:2px}.physio-mobile .physio-action-btn{padding:4px 8px;font-size:10px}.physio-mobile .physio-recent-grid{grid-template-columns:1fr}.physio-mobile .physio-recent-card{padding:11px 12px}.physio-mobile .physio-recent-name{font-size:11px}.physio-mobile .physio-recent-diag{font-size:10px}.physio-mobile .physio-recent-meta{font-size:9px}.physio-mobile .physio-recent-sessions{font-size:10px}.physio-mobile .physio-recent-btn{padding:4px 0;font-size:10px}.physio-mobile .physio-form-row{grid-template-columns:1fr}.physio-desktop-shell{width:100vw;height:100vh;overflow:hidden}.physio-desktop-main{height:100vh;overflow-y:auto}.physio-sidebar{height:100vh}.physio-mobile{background:var(--gray-50);width:100vw;height:100vh;font-family:var(--font);flex-direction:column;display:flex;overflow:hidden}.physio-mobile-header{background:var(--white);border-bottom:1px solid var(--gray-100);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.physio-mobile-header .physio-header-left h1{color:var(--gray-900);font-size:18px;font-weight:700;line-height:1.2}.physio-mobile-content{scrollbar-width:none;flex:1;overflow-y:auto}.physio-mobile-content::-webkit-scrollbar{display:none}.physio-view-toggle{background:var(--gray-100);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.physio-view-toggle-btn{border-radius:calc(var(--radius-md) - 2px);color:var(--gray-500);cursor:pointer;background:0 0;border:none;padding:5px 16px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.physio-view-toggle-btn.active{background:var(--white);color:var(--gray-900);box-shadow:0 1px 3px #0000001a}.physio-week-schedule{flex-direction:column;gap:20px;display:flex}.physio-week-day-group{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.physio-week-day-label{text-transform:uppercase;letter-spacing:.06em;color:var(--teal-dark);border-bottom:2px solid var(--teal-pale);align-items:center;gap:6px;padding:0 0 6px;font-size:11px;font-weight:700;display:flex}.physio-week-day-label:before{content:"";background:var(--teal);border-radius:50%;flex-shrink:0;width:6px;height:6px}.physio-schedule-hint{border:1px solid var(--teal-card);border-radius:var(--radius-sm);background:var(--teal-pale);color:var(--teal-dark);margin-bottom:12px;padding:9px 12px;font-size:12px;font-weight:600}.physio-schedule-filter{border:1px solid var(--gray-100);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.physio-schedule-filter label{color:var(--gray-700);white-space:nowrap;font-size:12px;font-weight:700}.physio-schedule-filter .physio-select{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);width:auto;min-width:220px;color:var(--gray-900);background:var(--gray-50);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;margin:0;padding:8px 32px 8px 12px;font-size:13px;transition:border-color .14s,background .14s}.physio-schedule-filter .physio-select:focus{border-color:var(--teal);background-color:var(--white);outline:none}.physio-schedule-filter-count{color:var(--teal-dark);background:var(--teal-pale);white-space:nowrap;border-radius:50px;padding:4px 12px;font-size:12px;font-weight:700}@media (width<=640px){.physio-schedule-filter{flex-direction:column;align-items:stretch}.physio-schedule-filter .physio-select{width:100%;min-width:0}}.physio-print-only{display:none}.physio-record-actions{justify-content:flex-end;margin-bottom:4px;display:flex}.physio-print-header h1{margin:0 0 4px;font-size:18px;font-weight:700}.physio-print-header p{color:var(--gray-500);margin:0 0 16px;font-size:13px}@media print{body *{visibility:hidden}.physio-record-body,.physio-record-body *{visibility:visible}.physio-record-body{background:#fff;padding:16mm 20mm;position:fixed;inset:0;overflow:visible}.physio-no-print{display:none!important}.physio-print-only{display:block}.physio-record-section,.physio-evolution-card{page-break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.physio-toast-container{z-index:9999;pointer-events:none;flex-direction:column-reverse;gap:8px;width:calc(100% - 32px);max-width:400px;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.physio-toast{pointer-events:all;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;animation:.2s physio-toast-in;display:flex;box-shadow:0 4px 16px #0000001f}.physio-toast__icon{flex-shrink:0;display:flex}.physio-toast__message{flex:1}.physio-toast__dismiss{cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:2px;display:flex}.physio-toast__dismiss:hover{opacity:1}.physio-toast--success{background:var(--teal-dark,#1a7f7f);color:#fff}.physio-toast--success .physio-toast__dismiss{color:#fff}.physio-toast--error{background:var(--red-pale,#fef2f2);color:var(--red,#ef4444);border:1px solid var(--red,#ef4444)}.physio-toast--warning{background:var(--yellow-pale,#fefce8);color:var(--orange,#f59e0b);border:1px solid var(--yellow,#eab308)}.physio-toast--info{background:var(--blue-pale,#eff6ff);color:var(--blue,#3b82f6);border:1px solid var(--blue,#3b82f6)}.physio-cal{border:1px solid var(--gray-100);border-radius:var(--radius-md);background:linear-gradient(180deg, var(--white) 0%, var(--gray-50) 100%);box-shadow:var(--shadow-sm);padding:14px}.physio-cal-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.physio-cal-heading{flex-direction:column;gap:3px;min-width:0;display:flex}.physio-cal-kicker{color:var(--teal-dark);align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.physio-cal-heading strong{color:var(--gray-900);font-size:16px;font-weight:800;line-height:1.2}.physio-cal-heading>span:last-child{color:var(--gray-500);font-size:12px}.physio-cal-metrics{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.physio-cal-metrics span{border:1px solid var(--gray-100);background:var(--white);color:var(--gray-700);border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.physio-cal .physio-view-toggle{border:1px solid var(--gray-100);background:var(--gray-100);border-radius:999px;flex-shrink:0;align-items:center;gap:3px;margin-bottom:0;padding:3px;display:inline-flex}.physio-cal .physio-view-toggle-btn{min-width:72px;color:var(--gray-500);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .14s,color .14s,box-shadow .14s}.physio-cal .physio-view-toggle-btn--active{background:var(--white);color:var(--teal-dark);box-shadow:var(--shadow-sm)}.physio-cal-month-nav{border:1px solid var(--gray-100);border-radius:var(--radius-sm);background:var(--white);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:8px;display:flex}.physio-cal-period-title{text-align:center;min-width:0;color:var(--gray-900);font-size:13px;font-weight:800}.physio-cal-nav-btn{background:var(--gray-50);border:1px solid var(--gray-100);cursor:pointer;width:30px;height:30px;color:var(--gray-500);border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background .14s,border-color .14s,color .14s;display:flex}.physio-cal-nav-btn:hover,.physio-cal-nav-btn:focus-visible{background:var(--teal-pale);border-color:var(--teal-card);color:var(--teal-dark)}.physio-cal-nav-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.physio-cal-grid--month{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.physio-cal-dow-header{text-align:center;color:var(--gray-500);text-transform:uppercase;padding:3px 0 5px;font-size:10px;font-weight:700}.physio-cal-cell{font-family:var(--font);text-align:center;border-radius:var(--radius-sm);background:#ffffffb8;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:48px;padding:6px 4px;transition:background .14s,border-color .14s,transform .14s;display:flex}button.physio-cal-cell{cursor:pointer}button.physio-cal-cell:hover{border-color:var(--teal-card);background:var(--white)}button.physio-cal-cell:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.physio-cal-cell--blank{background:0 0}.physio-cal-cell--has-session{background:var(--white);border-color:var(--teal-card);box-shadow:0 1px 3px #1a7f7f14}.physio-cal-cell--has-session:not(.physio-cal-cell--past):hover{border-color:var(--teal-light);transform:translateY(-1px)}.physio-cal-day-num{color:var(--gray-700);font-size:12px;font-weight:700;line-height:1}.physio-cal-cell--today{border-color:var(--teal);background:var(--teal-pale)}.physio-cal-cell--today .physio-cal-day-num{background:var(--teal);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.physio-cal-cell--past{opacity:.62}.physio-cal-cell:not(.physio-cal-cell--past):not(.physio-cal-cell--today) .physio-cal-day-num{color:var(--gray-700)}.physio-cal-count-badge{background:var(--teal-pale);min-width:22px;color:var(--teal-dark,#1a7f7f);border:1px solid var(--teal-card);border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700}.physio-cal-count-badge--past{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-500)}.physio-cal-today-dot{background:var(--teal);border-radius:50%;width:8px;height:8px;display:inline-block}.physio-cal-grid--week{grid-template-columns:48px repeat(7,minmax(44px,1fr));gap:6px;padding-bottom:4px;display:grid;overflow-x:auto}.physio-cal-week-header{text-align:center;color:var(--gray-500);text-transform:uppercase;background:#ffffffb3;border-radius:6px;padding:5px 0;font-size:10px;font-weight:700}.physio-cal-week-header--today{background:var(--teal-pale);color:var(--teal-dark)}.physio-cal-time-label{color:var(--gray-500);text-align:right;white-space:nowrap;padding-top:8px;padding-right:4px;font-size:10px;font-weight:700}.physio-cal-slot{font-family:var(--font);border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;min-height:30px;padding:6px 7px;font-size:10px;font-weight:600;display:flex;overflow:hidden}button.physio-cal-slot{cursor:pointer;text-align:left}button.physio-cal-slot:hover{filter:brightness(.98)}button.physio-cal-slot:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.physio-cal-slot--empty{background:0 0}.physio-cal-slot--done{background:var(--green-pale);color:#15803d;border-color:#22c55e3d;border-left:3px solid var(--green)}.physio-cal-slot--pending{background:var(--yellow-pale);color:#854d0e;border-color:#eab3083d;border-left:3px solid var(--yellow)}.physio-cal-slot--absent{background:var(--red-pale);color:#b91c1c;border-color:#ef44443d;border-left:3px solid var(--red)}.physio-cal-slot--today{background:var(--teal-pale);color:var(--teal-dark,#1a7f7f);border-color:var(--teal-card);border-left:3px solid var(--teal)}.physio-cal-slot--future{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-200);border-left:3px solid var(--gray-200)}.physio-cal-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.physio-cal-dot--done{background:var(--green)}.physio-cal-dot--pending{background:var(--yellow)}.physio-cal-dot--absent{background:var(--red)}.physio-cal-dot--today{background:var(--teal)}.physio-cal-dot--future{background:#94a3b8}.physio-cal-slot-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.physio-cal-legend{border:1px solid var(--gray-100);border-radius:var(--radius-sm);background:var(--white);flex-wrap:wrap;gap:7px;margin-top:12px;padding:10px;display:flex}.physio-cal-legend-item{color:var(--gray-700);align-items:center;gap:5px;font-size:10px;line-height:1.3;display:flex}@media (width<=520px){.physio-cal{padding:12px}.physio-cal-header{flex-direction:column;align-items:stretch}.physio-cal .physio-view-toggle{width:100%}.physio-cal .physio-view-toggle-btn{flex:1;min-width:0}.physio-cal-grid--month{gap:4px}.physio-cal-cell{min-height:42px;padding:5px 2px}.physio-cal-count-badge{min-width:19px;padding:1px 5px;font-size:9px}.physio-cal-grid--week{grid-template-columns:44px repeat(7,minmax(54px,1fr))}}.physio-tab-row{border-bottom:2px solid #e2e8f0;gap:0;margin-bottom:10px;display:flex}.physio-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:6px 14px;font-size:12px;font-weight:600}.physio-tab--active{color:var(--teal-dark,#1a7f7f);border-bottom-color:var(--teal)}.physio-doc-upload{align-items:center;gap:8px;display:inline-flex}.physio-doc-upload__btn{border:1.5px dashed var(--gray-200);background:var(--gray-50);color:var(--gray-500);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:border-color .15s,color .15s;display:inline-flex}.physio-doc-upload__btn:hover:not(:disabled){border-color:var(--teal);color:var(--teal-dark)}.physio-doc-upload__btn:disabled{opacity:.5;cursor:not-allowed}.physio-doc-upload__existing{align-items:center;gap:10px;display:flex}.physio-doc-upload__link{color:var(--teal);align-items:center;gap:4px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.physio-doc-upload__link:hover{text-decoration:underline}.physio-doc-upload__replace{color:var(--gray-500);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.physio-doc-upload__replace:hover{color:var(--gray-700)}.physio-tag-select{flex-direction:column;gap:8px;display:flex}.physio-tag-select__options{flex-wrap:wrap;gap:6px;display:flex}.physio-tag{border:1.5px solid var(--gray-200);background:var(--gray-100);color:var(--gray-700);cursor:pointer;white-space:nowrap;border-radius:50px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.physio-tag:hover{border-color:var(--teal);color:var(--teal-dark);background:var(--teal-pale)}.physio-tag--selected{background:var(--teal-pale);border-color:var(--teal);color:var(--teal-dark)}.physio-tag-select__input{border:1.5px solid var(--gray-200);background:var(--gray-50);width:100%;color:var(--gray-900);border-radius:8px;padding:8px 12px;font-size:13px;transition:border-color .15s,background .15s}.physio-tag-select__input:focus{border-color:var(--teal);background:var(--white);outline:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100%;font-family:Segoe UI,system-ui,-apple-system,sans-serif}body{background:#f8fafb}
