@import "https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400;14..32,500;14..32,600;14..32,700&display=swap";:root{--primary:#4f46e5;--primary-light:#eef2ff;--primary-mid:#6366f1;--accent:#f59e0b;--accent-light:#fffbeb;--success:#10b981;--success-light:#ecfdf5;--danger:#ef4444;--danger-light:#fef2f2;--warning:#f59e0b;--warning-light:#fffbeb;--info:#3b82f6;--info-light:#eff6ff;--purple:#8b5cf6;--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--text:#0f172a;--text-mid:#475569;--text-light:#94a3b8;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--radius:10px;--radius-sm:8px;--sidebar-w:230px;--on-primary:#fff;--warning-text:#b45309;--primary-soft-hover:#dde7ff;--font:"Inter", -apple-system, sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#6366f1;--primary-light:#6366f12e;--primary-mid:#818cf8;--accent-light:#f59e0b26;--success-light:#10b98126;--danger-light:#ef444426;--warning-light:#f59e0b26;--info-light:#3b82f62e;--bg:#0b1220;--surface:#111a2e;--border:#25324a;--text:#e5e7eb;--text-mid:#a7b0c0;--text-light:#8190a5;--shadow:0 1px 3px #00000080, 0 1px 2px #0006;--shadow-md:0 4px 12px #0000008c;--warning-text:#fbbf24;--primary-soft-hover:#6366f14d}.theme-toggle-floating{z-index:60;background:var(--surface);width:40px;height:40px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed;top:16px;right:16px}.theme-toggle-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-mid);border:1px solid var(--border);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle-icon:hover{background:var(--primary-light);color:var(--primary)}.theme-toggle-sidebar{margin-left:auto}.mobile-topbar{display:none}@media (width<=768px){.mobile-topbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}}.theme-toggle-floating:hover{background:var(--primary-light);color:var(--primary)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--primary);text-decoration:none}input,select,textarea,button{font-family:var(--font);font-size:.933rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px}table{border-collapse:collapse;width:100%}img{max-width:100%}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:50;flex-direction:column;padding:20px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:16px;padding:0 20px 24px;display:flex}.sidebar-logo{background:var(--primary);border-radius:var(--radius-sm);color:#fff;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;display:flex}.sidebar-name{color:var(--text);font-size:1.1rem;font-weight:700}.sidebar-name span{color:var(--primary)}.sidebar-clinica{background:var(--primary-light);color:var(--primary);border-radius:8px;align-items:center;gap:8px;margin:-4px 12px 12px;padding:8px 10px;font-size:.75rem;font-weight:600;display:flex}.sidebar-clinica span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-clinica{text-align:center;min-width:0;color:var(--text-mid);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0 12px;font-size:.8rem;font-weight:600;overflow:hidden}.sidebar-section{text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);padding:16px 20px 6px;font-size:.7rem;font-weight:600}.sidebar-item{text-align:left;cursor:pointer;width:100%;color:var(--text-mid);background:0 0;border:none;border-radius:0;align-items:center;gap:10px;padding:9px 20px;font-size:.867rem;font-weight:500;transition:all .12s;display:flex}.sidebar-item:hover{background:var(--primary-light);color:var(--primary)}.sidebar-item.active{background:var(--primary-light);color:var(--primary);font-weight:600}.sidebar-item .icon{text-align:center;width:24px;font-size:1.1rem}.sidebar-badge{background:var(--danger);color:#fff;border-radius:10px;margin-left:auto;padding:2px 7px;font-size:.65rem;font-weight:600}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.sidebar-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;font-weight:600;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-info .name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:600;overflow:hidden}.sidebar-user-info .role{color:var(--text-light);font-size:.68rem;line-height:1.2}.sidebar-logout{width:30px;height:30px;color:var(--text-mid);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-logout:hover{background:var(--danger-light);color:var(--danger)}.role-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:100;margin-bottom:4px;position:absolute;bottom:100%;left:16px;right:16px;overflow:hidden}.role-menu-header{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;padding:8px 14px;font-size:.65rem;font-weight:600}.role-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;padding:8px 14px;font-size:.8rem;transition:background .1s;display:block}.role-menu-item:hover{background:var(--primary-light)}.role-menu-item.active{background:var(--primary-light);font-weight:600}.main-content{margin-left:var(--sidebar-w);flex:1;padding:28px 32px}.content-wrap{max-width:1440px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-title{color:var(--text);font-size:1.4rem;font-weight:700}.page-subtitle{color:var(--text-light);margin-top:2px;font-size:.8rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card-header{color:var(--text);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:.933rem;font-weight:600;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-mid);white-space:nowrap;align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;font-weight:600;transition:all .12s;display:inline-flex}.btn:hover{border-color:var(--primary);color:var(--primary)}.btn-primary{background:var(--primary);color:#fff;border:1px solid var(--primary)}.btn-primary:hover{background:var(--primary-mid)}.btn-soft{background:var(--primary-light);color:var(--primary);border:none}.btn-soft:hover{background:var(--primary-soft-hover)}.btn-success{background:var(--success);color:#fff;border:none}.btn-success:hover{opacity:.9}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger:hover{opacity:.9}.btn-sm{padding:5px 10px;font-size:.733rem}.btn:disabled{opacity:.4;cursor:not-allowed}.badge{border-radius:20px;align-items:center;gap:4px;padding:2px 10px;font-size:.733rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning-text)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-info{background:var(--info-light);color:var(--info)}.search-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;max-width:280px;padding:0 12px;display:flex}.search-box input{background:0 0;border:none;width:100%;padding:8px 0;font-size:.8rem}.search-box input:focus{outline:none}.tabs{background:var(--bg);border-radius:var(--radius-sm);gap:4px;padding:3px;display:flex}.tab{cursor:pointer;color:var(--text-mid);background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:all .12s}.tab:hover{color:var(--text)}.tab.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow);font-weight:600}.data-table{width:100%}.data-table th{text-align:left;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:10px 12px;font-size:.733rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--text-mid);padding:12px;font-size:.8rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg)}.table-name{align-items:center;gap:10px;display:flex}.table-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.733rem;font-weight:700;display:flex}.table-actions{gap:4px;display:flex}.table-sub-mobile{display:none}.data-table td.col-actions.is-overdue{background:linear-gradient(var(--danger-light), var(--danger-light)), var(--surface)}.tag{border-radius:20px;padding:2px 10px;font-size:.733rem;font-weight:600}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.kpi-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:12px;font-size:1.1rem;display:flex}.kpi-icon.primary{background:var(--primary-light)}.kpi-icon.success{background:var(--success-light)}.kpi-icon.warning{background:var(--warning-light)}.kpi-icon.danger{background:var(--danger-light)}.kpi-value{color:var(--text);font-size:1.5rem;font-weight:700}.kpi-label{color:var(--text-light);margin-top:2px;font-size:.8rem}.kpi-delta{align-items:center;gap:4px;margin-top:6px;font-size:.733rem;font-weight:500;display:flex}.kpi-delta.up{color:var(--success)}.kpi-delta.down{color:var(--danger)}.kpi-card.clickable{cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s}.kpi-card.clickable:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-2px)}.list-row{cursor:pointer;border-radius:var(--radius-sm);transition:background .12s}.list-row:hover{background:var(--bg)}.quick-actions{flex-direction:column;gap:8px;display:flex}.quick-actions .btn{justify-content:flex-start;width:100%}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-side{grid-template-columns:1fr 340px;gap:20px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid .full{grid-column:1/-1}.field-group{flex-direction:column;gap:4px;display:flex}.field-group label{color:var(--text);font-size:.8rem;font-weight:600}.field-group input,.field-group select,.field-group textarea{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--surface);padding:9px 12px;font-size:.867rem}.field-group textarea{resize:vertical;min-height:80px}.divider{background:var(--border);height:1px;margin:12px 0}.alert{border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px;font-size:.8rem;font-weight:500}.alert svg{vertical-align:-3px;margin-right:6px}.alert-info{background:var(--info-light);color:var(--info)}.alert-success{background:var(--success-light);color:var(--success)}.alert-warning{background:var(--warning-light);color:var(--warning-text)}.alert-danger{background:var(--danger-light);color:var(--danger)}.modal-overlay{z-index:100;background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-md);width:90%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;padding:18px 20px 0;font-size:1rem;font-weight:700;display:flex}.modal-close{cursor:pointer;color:var(--text-light);background:0 0;border:none;padding:0 4px;font-size:1.4rem}.modal-body{padding:16px 20px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 20px 18px;display:flex}.week-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:60px repeat(5,1fr);gap:1px;display:grid;overflow:hidden}.week-header{background:var(--surface);text-align:center;color:var(--text-mid);padding:10px;font-size:.733rem;font-weight:600}.week-header.today{background:var(--primary-light);color:var(--primary)}.week-header .day-num{color:var(--text);font-size:1.1rem;font-weight:700;display:block}.week-header.today .day-num{color:var(--primary)}.time-label{background:var(--surface);color:var(--text-light);justify-content:center;align-items:center;padding:6px 10px;font-size:.733rem;display:flex}.time-slot{background:var(--surface);flex-direction:column;gap:3px;min-height:72px;padding:4px;display:flex}.session-block{cursor:pointer;border-left:3px solid;border-radius:4px;padding:4px 8px;font-size:.667rem;transition:opacity .1s}.session-block:hover{opacity:.8}.session-more{color:var(--primary);background:var(--primary-light);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-self:flex-start;padding:1px 8px;font-size:.667rem;font-weight:600}.session-more:hover{border-color:var(--primary)}.session-block .name{color:var(--text);font-weight:600}.session-block .meta{color:var(--text-light);font-size:.6rem}.session-block.confirmed{background:var(--success-light);border-left-color:var(--success)}.session-block.scheduled{background:var(--primary-light);border-left-color:var(--primary)}.session-block.absent{background:var(--danger-light);border-left-color:var(--danger)}.plan-card{border:1px solid var(--border);border-radius:var(--radius);text-align:center;background:var(--surface);padding:24px;transition:all .15s}.plan-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.plan-card .plan-name{color:var(--text);font-size:1rem;font-weight:700}.plan-card .plan-price{margin:8px 0;font-size:2rem;font-weight:700}.plan-card .plan-features{color:var(--text-mid);flex-direction:column;gap:8px;font-size:.8rem;list-style:none;display:flex}.plan-card .plan-features li{align-items:center;gap:6px;display:flex}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.gap-2{gap:8px}.gap-3{gap:12px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.text-center{text-align:center}.text-mid{color:var(--text-mid)}.text-light{color:var(--text-light)}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:.8rem}.w-full{width:100%}@media (width<=1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-side,.grid-3{grid-template-columns:minmax(0,1fr)}.form-grid{grid-template-columns:1fr}}@media (width<=768px){html{font-size:14px}.sidebar{width:260px;box-shadow:var(--shadow-md);padding:16px 0;transition:transform .25s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:49;opacity:0;pointer-events:none;background:#0f172a80;transition:opacity .25s;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;pointer-events:auto}.main-content{max-width:100%;margin-left:0;padding:16px 16px 72px}.page-header{flex-direction:column;gap:12px}.page-title{font-size:1.2rem}.menu-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;color:var(--text);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex!important}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:12px}.kpi-card{padding:14px}.kpi-value{font-size:1.3rem}.kpi-icon{width:32px;height:32px;margin-bottom:8px;font-size:.9rem}.data-table-wrapper{-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px;overflow-x:auto}.data-table{min-width:600px}.tabela-pacientes{min-width:0}.tabela-pacientes .col-plano,.tabela-pacientes .col-sessoes,.tabela-pacientes .col-status{display:none}.table-sub-mobile{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:.75rem;display:flex}.data-table th.col-actions,.data-table td.col-actions{background:var(--surface);padding-right:16px;position:sticky;right:-16px;box-shadow:-8px 0 8px -8px #0000002e}.search-box{max-width:100%}.tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.bottom-nav{background:var(--surface);border-top:1px solid var(--border);z-index:40;padding:4px 0;padding-bottom:env(safe-area-inset-bottom,4px);position:fixed;bottom:0;left:0;right:0;display:flex!important}.bottom-nav-item{cursor:pointer;min-height:44px;color:var(--text-light);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-size:.6rem;font-weight:500;transition:color .1s;display:flex}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item .icon{font-size:1.2rem}.modal{width:95%;max-width:100%;margin:10px}.modal-header{padding:14px 16px 0}.modal-body{padding:12px 16px}.modal-footer{flex-wrap:wrap;padding:10px 16px 14px}.modal-footer .btn{flex:1;justify-content:center}.card{padding:14px}.grid-2,.grid-side{gap:12px}.form-grid{gap:10px}.week-grid{-webkit-overflow-scrolling:touch;grid-template-columns:50px repeat(5,minmax(100px,1fr));overflow-x:auto}.plan-card{padding:18px}.plan-card .plan-price{font-size:1.6rem}.table-actions{flex-wrap:wrap}.field-group input,.field-group select,.field-group textarea{padding:10px 12px;font-size:16px}}@media (width<=640px){html{font-size:14px}.login-card{flex-direction:column!important}.login-brand{text-align:center;align-items:center;width:100%!important;padding:32px 28px!important}.login-brand h1{font-size:24px!important}.login-form{padding:28px!important}.recuperar-card{flex-direction:column!important}.recuperar-brand{text-align:center;align-items:center;width:100%!important;padding:32px 28px!important}.recuperar-form{padding:28px!important}}@media (width<=480px){html{font-size:13px}.kpi-grid{grid-template-columns:1fr;gap:10px}.main-content{padding:12px 12px 68px}.btn{padding:10px 14px;font-size:.85rem}.btn-sm{padding:6px 10px;font-size:.75rem}.bottom-nav-item{padding:4px 2px;font-size:.55rem}.bottom-nav-item .icon{font-size:1.1rem}.data-table th{padding:8px 10px;font-size:.7rem}.data-table td{padding:10px;font-size:.75rem}.login-brand{padding:24px 20px!important}.login-brand h1{font-size:20px!important}.login-form{padding:20px!important}.recuperar-brand{padding:24px 20px!important}.recuperar-form{padding:20px!important}}@media (width>=769px){.menu-toggle,.sidebar-overlay,.bottom-nav{display:none!important}}.menu-toggle,.bottom-nav{display:none}
