:root{--font-main:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--primary:#0284c7;--primary-light:#38bdf8;--primary-dark:#0369a1;--primary-bg:#e0f2fe;--fisio-color:#0d9488;--fisio-bg:#ccfbf1;--pool-color:#0284c7;--pool-bg:#e0f2fe;--psico-color:#7c3aed;--psico-bg:#ede9fe;--success:#10b981;--success-bg:#d1fae5;--warning:#f59e0b;--warning-bg:#fef3c7;--danger:#ef4444;--danger-bg:#fee2e2;--bg-page:#f8fafc;--bg-card:#fff;--bg-subtle:#f1f5f9;--border-color:#e2e8f0;--border-focus:#38bdf8;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-glow-pool:0 8px 20px -4px #0284c740;--shadow-glow-fisio:0 8px 20px -4px #0d948840;--shadow-glow-psico:0 8px 20px -4px #7c3aed40;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-page);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-layout{min-height:100vh;display:flex}.sidebar{color:#f8fafc;z-index:40;background:#0f172a;border-right:1px solid #1e293b;flex-direction:column;flex-shrink:0;width:270px;height:100vh;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid #1e293b;align-items:center;gap:12px;padding:24px 20px;display:flex}.brand-icon{color:#fff;background:linear-gradient(135deg,#0284c7,#0d9488);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 12px #0284c766}.brand-text h1{letter-spacing:-.02em;color:#fff;font-size:1.15rem;font-weight:700;line-height:1.2}.brand-text p{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:500}.role-switcher-box{border-radius:var(--radius-md);background:#1e293b;border:1px solid #334155;margin:16px 14px;padding:12px}.role-switcher-box label{text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;margin-bottom:6px;font-size:.72rem;font-weight:600;display:block}.role-select{color:#f8fafc;border-radius:var(--radius-sm);cursor:pointer;background:#0f172a;border:1px solid #475569;outline:none;width:100%;padding:8px 10px;font-size:.82rem;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:12px 14px;display:flex;overflow-y:auto}.nav-item{color:#94a3b8;border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:12px;padding:10px 14px;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .15s ease-in-out;display:flex}.nav-item:hover{color:#f8fafc;background:#ffffff0d}.nav-item.active{color:#38bdf8;background:linear-gradient(135deg,#0284c733,#0d948833);border-color:#38bdf84d;font-weight:600}.nav-item .badge-count{color:#cbd5e1;background:#334155;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:.7rem}.sidebar-footer{color:#64748b;border-top:1px solid #1e293b;justify-content:space-between;align-items:center;padding:16px 20px;font-size:.78rem;display:flex}.main-wrapper{flex-direction:column;flex:1;min-width:0;display:flex;overflow-x:hidden}.topbar{border-bottom:1px solid var(--border-color);z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;justify-content:space-between;align-items:center;padding:14px 28px;display:flex;position:sticky;top:0}.topbar-title{flex-direction:column;display:flex}.topbar-title h2{color:var(--text-main);letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.topbar-title p{color:var(--text-muted);font-size:.82rem}.topbar-actions{align-items:center;gap:12px;display:flex}.content-body{width:100%;max-width:1400px;margin:0 auto;padding:28px}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:.88rem;font-weight:600;transition:all .15s ease-in-out;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#0284c7,#026cb1);box-shadow:0 2px 8px #0284c759}.btn-primary:hover{background:linear-gradient(135deg,#0369a1,#025992);transform:translateY(-1px)}.btn-fisio{color:#fff;background:linear-gradient(135deg,#0d9488,#0f766e);box-shadow:0 2px 8px #0d948859}.btn-fisio:hover{background:#0f766e;transform:translateY(-1px)}.btn-pool{color:#fff;background:linear-gradient(135deg,#0284c7,#0ea5e9);box-shadow:0 2px 8px #0284c759}.btn-pool:hover{background:#0369a1;transform:translateY(-1px)}.btn-psico{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 2px 8px #7c3aed59}.btn-psico:hover{background:#6d28d9;transform:translateY(-1px)}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);background:#fff}.btn-secondary:hover{background:var(--bg-subtle)}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover{background:var(--bg-subtle);color:var(--text-main)}.badge{letter-spacing:.02em;border-radius:9999px;align-items:center;gap:5px;padding:3px 10px;font-size:.74rem;font-weight:600;display:inline-flex}.badge-fisio{background:var(--fisio-bg);color:var(--fisio-color)}.badge-pool{background:var(--pool-bg);color:var(--pool-color)}.badge-psico{background:var(--psico-bg);color:var(--psico-color)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:#b45309}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-neutral{background:var(--bg-subtle);color:var(--text-muted)}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-bottom:26px;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:flex-start;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-info h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.8rem;font-weight:600}.stat-info .stat-number{color:var(--text-main);font-size:1.85rem;font-weight:800;line-height:1.1}.stat-info .stat-desc{color:var(--text-muted);margin-top:4px;font-size:.76rem}.stat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.pool-hero-card{color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-glow-pool);background:linear-gradient(135deg,#0284c7 0%,#0369a1 60%,#0f766e 100%);margin-bottom:28px;padding:28px;position:relative;overflow:hidden}.pool-hero-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff26 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-50%;right:-20%}.modal-overlay,.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172aa6;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content,.modal-card{border-radius:var(--radius-xl);background:#fff;width:100%;max-width:620px;max-height:90vh;animation:.2s ease-out slideUp;overflow-y:auto;box-shadow:0 25px 50px -12px #00000059}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{color:var(--text-main);font-size:1.15rem;font-weight:700}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border-color);background:var(--bg-subtle);border-radius:0 0 var(--radius-xl) var(--radius-xl);justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.form-group{margin-bottom:16px}.form-group label{color:var(--text-main);margin-bottom:6px;font-size:.82rem;font-weight:600;display:block}.form-control{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-main);background:#fff;outline:none;padding:10px 14px;font-family:inherit;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0284c726}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.pain-scale-container{background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:16px}.pain-meter-bar{background:linear-gradient(90deg,#10b981 0%,#f59e0b 50%,#ef4444 100%);border-radius:5px;height:10px;margin:10px 0;display:flex;overflow:hidden}.table-container{border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.table-header-bar{border-bottom:1px solid var(--border-color);background:#fff;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.table-header-bar h3{font-size:1rem;font-weight:700}table.data-table{border-collapse:collapse;text-align:left;width:100%}table.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);background:#f8fafc;padding:12px 18px;font-size:.74rem;font-weight:700}table.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-main);padding:14px 18px;font-size:.86rem}table.data-table tr:last-child td{border-bottom:none}table.data-table tr:hover td{background:#f8fafc}.tabs-nav{border-bottom:1px solid var(--border-color);gap:8px;margin-bottom:24px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:600;transition:all .15s;display:flex}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulseGlow{0%,to{opacity:.8}50%{opacity:1}}.cards-grid-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}@media (width<=1100px){.cards-grid-two-columns{grid-template-columns:1fr;gap:20px}}.mobile-menu-btn,.sidebar-backdrop{display:none}@media screen and (width<=900px){.sidebar{z-index:1000;width:280px;max-width:85vw;height:100dvh;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0);box-shadow:0 0 40px #00000073}.sidebar-backdrop{z-index:999;background:#0f172a8c;display:block;position:fixed;inset:0}.mobile-menu-btn{border-radius:var(--radius-md);border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-main);cursor:pointer;background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.topbar{flex-wrap:wrap;justify-content:flex-start;gap:10px;padding:10px 14px}.topbar-title{flex:1;min-width:0}.topbar-title h2{font-size:1.05rem}.topbar-title>div{flex-wrap:wrap}.topbar-actions{flex-wrap:wrap;gap:8px;width:100%}.topbar-actions>div{padding:4px 8px!important;font-size:.72rem!important}.content-body{padding:16px 12px}.form-row{grid-template-columns:1fr;gap:0}.form-control,input,select,textarea{font-size:16px}.modal-overlay,.modal-backdrop{align-items:flex-start;padding:8px}.modal-overlay>*,.modal-backdrop>*{max-width:100%!important}.modal-header{padding:14px 16px}.modal-body{padding:16px}.modal-footer{flex-wrap:wrap;padding:12px 16px}.modal-footer .btn{flex:auto;justify-content:center}.tabs-nav{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-btn{white-space:nowrap;flex-shrink:0}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto!important}:has(>table){-webkit-overflow-scrolling:touch;overflow-x:auto!important}table{min-width:640px}.table-header-bar{flex-wrap:wrap;gap:10px}div[style*="display: flex"]:not([style*=flex-wrap]):not([style*="flex-direction: column"]):not([style*=overflow]):not(:has(>svg+input)){flex-wrap:wrap}[style*="grid-template-columns: repeat(4"],[style*="grid-template-columns: repeat(3"],[style*="grid-template-columns: 1fr 1fr 1fr"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}[style*="grid-template-columns: minmax(320px"],[style*="grid-template-columns: 2.5fr"],[style*="grid-template-columns: 2fr 1fr 1.5fr"],[style*="grid-template-columns: 1.6fr"],[style*="grid-template-columns: 1fr 1.6fr"],[style*="grid-template-columns: 1.08fr"],[style*=minmax\(360px],[style*=minmax\(320px],[style*=minmax\(260px]{grid-template-columns:minmax(0,1fr)!important}}@media screen and (width<=600px){[style*=grid-template-columns]:not([style*=auto-fit]):not([style*=auto-fill]),[style*=minmax\(240px],[style*=minmax\(210px],[style*=minmax\(200px]{grid-template-columns:minmax(0,1fr)!important}.grid-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:14px}.topbar-actions>div:not(:first-of-type){display:none!important}}@media print{#root{display:none!important}html,body{color:#0f172a!important;background:#fff!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;font-size:11pt!important;overflow:visible!important}.no-print,.modal-footer,button,.btn{display:none!important}.individual-report-modal-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;width:100%!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important}.individual-report-modal-content{box-shadow:none!important;background:#fff!important;border:none!important;width:100%!important;max-width:100%!important;max-height:none!important;margin:0!important;padding:0!important;animation:none!important;position:static!important;overflow:visible!important}.printable-report-sheet{box-sizing:border-box!important;width:100%!important;margin:0 auto!important;padding:10mm 14mm!important;overflow:visible!important}@page{size:A4 portrait;margin:0}}
