@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--gg-primary: #dc2626;--gg-primary-hover: #b91c1c;--gg-primary-soft: #fef2f2;--gg-primary-foreground: #ffffff;--gg-background: #f4f6fa;--gg-card: #ffffff;--gg-sidebar: #0f172a;--gg-sidebar-foreground: #cbd5e1;--gg-sidebar-active: #ffffff;--gg-sidebar-hover: rgba(255,255,255,.06);--gg-foreground: #0f172a;--gg-muted-foreground: #64748b;--gg-border: #e2e8f0;--gg-input: #cbd5e1;--gg-ring: rgba(220,38,38,.25);--gg-success: #059669;--gg-success-soft: #ecfdf5;--gg-warning: #d97706;--gg-warning-soft: #fffbeb;--gg-danger: #dc2626;--gg-danger-soft: #fef2f2;--gg-info: #2563eb;--gg-info-soft: #eff6ff;--gg-radius-sm: 6px;--gg-radius: 10px;--gg-radius-lg: 14px;--gg-shadow-sm: 0 1px 2px rgba(15,23,42,.06);--gg-shadow: 0 4px 12px rgba(15,23,42,.08);--gg-shadow-lg: 0 12px 32px rgba(15,23,42,.14);--gg-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--gg-space-1: 4px;--gg-space-2: 8px;--gg-space-3: 12px;--gg-space-4: 16px;--gg-space-5: 20px;--gg-space-6: 24px;--gg-space-8: 32px;--gg-sidebar-width: 248px;--gg-header-height: 60px}html{font-family:var(--gg-font);-webkit-font-smoothing:antialiased}body{margin:0;color:var(--gg-foreground)}*,*:before,*:after{box-sizing:border-box}button,input,select,textarea{font:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{margin:0;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.gg-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:gg-spin .7s linear infinite;vertical-align:middle}@keyframes gg-spin{to{transform:rotate(360deg)}}.gg-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gg-space-2);border:1px solid transparent;border-radius:var(--gg-radius-sm);font-weight:600;font-size:14px;line-height:1;cursor:pointer;white-space:nowrap;transition:background .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease}.gg-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gg-ring)}.gg-btn:disabled{opacity:.6;cursor:not-allowed}.gg-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--gg-shadow)}.gg-btn--sm{height:36px;padding:0 14px;font-size:13px}.gg-btn--md{height:40px;padding:0 18px}.gg-btn--lg{height:46px;padding:0 22px;font-size:15px}.gg-btn--block{width:100%}.gg-btn--primary{background:var(--gg-primary);color:var(--gg-primary-foreground)}.gg-btn--primary:hover:not(:disabled){background:var(--gg-primary-hover)}.gg-btn--secondary{background:var(--gg-card);color:var(--gg-foreground);border-color:var(--gg-border)}.gg-btn--secondary:hover:not(:disabled){background:var(--gg-background)}.gg-btn--ghost{background:transparent;color:var(--gg-foreground)}.gg-btn--ghost:hover:not(:disabled){background:var(--gg-background);box-shadow:none}.gg-btn--danger{background:var(--gg-danger);color:#fff}.gg-btn--danger:hover:not(:disabled){background:var(--gg-primary-hover)}.gg-btn--success{background:var(--gg-success);color:#fff}.gg-btn--success:hover:not(:disabled){background:#047857}@media(max-width:640px){.gg-btn{min-height:44px}}.gg-card{background:var(--gg-card);border:1px solid var(--gg-border);border-radius:var(--gg-radius);box-shadow:var(--gg-shadow-sm)}.gg-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gg-space-4);padding:var(--gg-space-5) var(--gg-space-5) 0}.gg-card__title{font-size:16px;font-weight:600;margin:0}.gg-card__subtitle{font-size:13px;color:var(--gg-muted-foreground);margin:4px 0 0}.gg-card__actions{display:flex;align-items:center;gap:var(--gg-space-2)}.gg-card__body{padding:var(--gg-space-5)}@media(max-width:640px){.gg-card__header{padding:var(--gg-space-4) var(--gg-space-4) 0}.gg-card__body{padding:var(--gg-space-4)}}.gg-stat{display:flex;align-items:center;gap:var(--gg-space-4);background:var(--gg-card);border:1px solid var(--gg-border);border-radius:var(--gg-radius);box-shadow:var(--gg-shadow-sm);padding:var(--gg-space-5)}.gg-stat__icon{width:48px;height:48px;border-radius:var(--gg-radius);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.gg-stat__icon--primary{background:var(--gg-primary-soft);color:var(--gg-primary)}.gg-stat__icon--success{background:var(--gg-success-soft);color:var(--gg-success)}.gg-stat__icon--warning{background:var(--gg-warning-soft);color:var(--gg-warning)}.gg-stat__icon--info{background:var(--gg-info-soft);color:var(--gg-info)}.gg-stat__icon--neutral{background:var(--gg-background);color:var(--gg-muted-foreground)}.gg-stat__value{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.gg-stat__label{font-size:13px;color:var(--gg-muted-foreground);margin-top:2px}.gg-stat__hint{font-size:12px;color:var(--gg-muted-foreground);margin-top:4px}.gg-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5}.gg-badge--primary{background:var(--gg-primary-soft);color:var(--gg-primary)}.gg-badge--success{background:var(--gg-success-soft);color:var(--gg-success)}.gg-badge--warning{background:var(--gg-warning-soft);color:var(--gg-warning)}.gg-badge--danger{background:var(--gg-danger-soft);color:var(--gg-danger)}.gg-badge--info{background:var(--gg-info-soft);color:var(--gg-info)}.gg-badge--neutral{background:var(--gg-background);color:var(--gg-muted-foreground)}.gg-field{display:flex;flex-direction:column;gap:6px}.gg-field__label{font-size:13px;font-weight:600}.gg-field__required{color:var(--gg-danger)}.gg-field__hint{font-size:12px;color:var(--gg-muted-foreground)}.gg-field__error{font-size:12px;color:var(--gg-danger);font-weight:500}.gg-input,.gg-select,.gg-textarea{width:100%;height:40px;padding:0 var(--gg-space-3);background:var(--gg-card);border:1px solid var(--gg-input);border-radius:var(--gg-radius-sm);font-size:14px;color:var(--gg-foreground);transition:border-color .15s ease,box-shadow .15s ease}.gg-textarea{height:auto;min-height:80px;padding:var(--gg-space-3);resize:vertical}.gg-input:focus,.gg-select:focus,.gg-textarea:focus{outline:none;border-color:var(--gg-primary);box-shadow:0 0 0 3px var(--gg-ring)}.gg-input::placeholder,.gg-textarea::placeholder{color:var(--gg-muted-foreground)}.gg-input[aria-invalid=true],.gg-select[aria-invalid=true],.gg-textarea[aria-invalid=true]{border-color:var(--gg-danger)}@media(max-width:640px){.gg-input,.gg-select,.gg-textarea{font-size:16px}}.gg-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--gg-space-4);z-index:1000;animation:gg-fade-in .18s ease-out}.gg-modal{background:var(--gg-card);border-radius:var(--gg-radius-lg);box-shadow:var(--gg-shadow-lg);width:100%;max-height:90vh;display:flex;flex-direction:column;animation:gg-fade-up .22s ease-out}.gg-modal--sm{max-width:400px}.gg-modal--md{max-width:560px}.gg-modal--lg{max-width:800px}.gg-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--gg-space-5) var(--gg-space-5) var(--gg-space-3)}.gg-modal__title{font-size:17px;font-weight:700;margin:0}.gg-modal__close{background:none;border:none;cursor:pointer;color:var(--gg-muted-foreground);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--gg-radius-sm);font-size:18px}.gg-modal__close:hover{background:var(--gg-background);color:var(--gg-foreground)}.gg-modal__body{padding:0 var(--gg-space-5) var(--gg-space-5);overflow-y:auto}.gg-modal__footer{display:flex;justify-content:flex-end;gap:var(--gg-space-2);padding:var(--gg-space-3) var(--gg-space-5) var(--gg-space-5);border-top:1px solid var(--gg-border)}@keyframes gg-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.gg-modal-overlay{align-items:flex-end;padding:0}.gg-modal{max-width:100%;max-height:92vh;border-radius:var(--gg-radius-lg) var(--gg-radius-lg) 0 0;animation:gg-slide-up .24s ease-out}@keyframes gg-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.gg-toast-container{position:fixed;top:var(--gg-space-4);right:var(--gg-space-4);z-index:1200;display:flex;flex-direction:column;gap:var(--gg-space-2);width:360px;max-width:calc(100vw - 32px)}.gg-toast{position:relative;display:flex;align-items:flex-start;gap:var(--gg-space-3);background:var(--gg-card);border:1px solid var(--gg-border);border-radius:var(--gg-radius);box-shadow:var(--gg-shadow-lg);padding:var(--gg-space-3) var(--gg-space-4);overflow:hidden;animation:gg-toast-in .25s ease-out}.gg-toast--leaving{animation:gg-toast-out .2s ease-in forwards}.gg-toast__icon{font-size:20px;margin-top:1px;flex-shrink:0}.gg-toast--success .gg-toast__icon{color:var(--gg-success)}.gg-toast--error .gg-toast__icon{color:var(--gg-danger)}.gg-toast--warning .gg-toast__icon{color:var(--gg-warning)}.gg-toast--info .gg-toast__icon{color:var(--gg-info)}.gg-toast__title{font-size:14px;font-weight:600}.gg-toast__msg{font-size:13px;color:var(--gg-muted-foreground);margin-top:2px}.gg-toast__close{background:none;border:none;cursor:pointer;color:var(--gg-muted-foreground);padding:2px;font-size:16px;flex-shrink:0}.gg-toast__close:hover{color:var(--gg-foreground)}.gg-toast__bar{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left;animation:gg-toast-bar linear forwards}.gg-toast--success .gg-toast__bar{background:var(--gg-success)}.gg-toast--error .gg-toast__bar{background:var(--gg-danger)}.gg-toast--warning .gg-toast__bar{background:var(--gg-warning)}.gg-toast--info .gg-toast__bar{background:var(--gg-info)}@keyframes gg-toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes gg-toast-out{to{opacity:0;transform:translate(24px)}}@keyframes gg-toast-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:640px){.gg-toast-container{left:var(--gg-space-4);right:var(--gg-space-4);width:auto}}.gg-table-wrap{overflow-x:auto;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-card)}.gg-table{width:100%;border-collapse:collapse;font-size:14px}.gg-table th{position:sticky;top:0;background:var(--gg-card);text-align:left;font-size:12px;font-weight:600;color:var(--gg-muted-foreground);text-transform:uppercase;letter-spacing:.4px;padding:var(--gg-space-3) var(--gg-space-4);border-bottom:1px solid var(--gg-border);white-space:nowrap}.gg-table td{padding:var(--gg-space-3) var(--gg-space-4);border-bottom:1px solid var(--gg-border)}.gg-table tbody tr:nth-child(2n){background:#0f172a04}.gg-table tbody tr:hover{background:var(--gg-background)}.gg-table tbody tr.gg-table__row--clickable{cursor:pointer}.gg-table tbody tr:last-child td{border-bottom:none}.gg-table__skeleton{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--gg-border) 25%,var(--gg-background) 50%,var(--gg-border) 75%);background-size:200% 100%;animation:gg-shimmer 1.2s infinite}@keyframes gg-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.gg-table,.gg-table thead,.gg-table tbody,.gg-table tr,.gg-table td{display:block}.gg-table thead{display:none}.gg-table tr{border:1px solid var(--gg-border);border-radius:var(--gg-radius);margin:var(--gg-space-3);box-shadow:var(--gg-shadow-sm);background:var(--gg-card)!important}.gg-table td{display:flex;justify-content:space-between;align-items:center;gap:var(--gg-space-3);border-bottom:1px solid var(--gg-border);text-align:right}.gg-table td:last-child{border-bottom:none}.gg-table td:before{content:attr(data-label);font-size:12px;font-weight:600;color:var(--gg-muted-foreground);text-transform:uppercase;letter-spacing:.4px;text-align:left}}.gg-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--gg-space-8) var(--gg-space-5);gap:var(--gg-space-2)}.gg-empty__icon{width:56px;height:56px;border-radius:50%;background:var(--gg-primary-soft);color:var(--gg-primary);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:var(--gg-space-2)}.gg-empty__title{font-size:16px;font-weight:600;margin:0}.gg-empty__desc{font-size:13px;color:var(--gg-muted-foreground);margin:0;max-width:320px}.gg-empty__action{margin-top:var(--gg-space-3)}.gg-iconbtn{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--gg-card);border:1px solid var(--gg-border);border-radius:var(--gg-radius-sm);color:var(--gg-foreground);cursor:pointer;font-size:18px}.gg-iconbtn__badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--gg-danger);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.gg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gg-space-4);margin-bottom:var(--gg-space-5)}.gg-grid--3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media(max-width:768px){.gg-grid--2{grid-template-columns:1fr}}.gg-actions{display:flex;flex-wrap:wrap;gap:var(--gg-space-3);margin-bottom:var(--gg-space-5)}.gg-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:var(--gg-space-6);color:var(--gg-muted-foreground)}.gg-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--gg-space-3);margin-bottom:var(--gg-space-4)}.gg-toolbar__title{font-size:20px;font-weight:700;margin:0}.gg-toolbar__actions{display:flex;align-items:center;gap:var(--gg-space-3);flex-wrap:wrap}@media(max-width:640px){.gg-toolbar{flex-direction:column;align-items:stretch}.gg-toolbar__search{width:100%}}.gg-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gg-space-4)}@media(max-width:1024px){.gg-form-row--4{grid-template-columns:1fr 1fr}}.gg-form-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gg-muted-foreground);margin:var(--gg-space-4) 0 var(--gg-space-3)}.gg-check{display:flex;align-items:center;gap:var(--gg-space-2);font-size:14px;cursor:pointer}.gg-pagination{display:flex;align-items:center;justify-content:center;gap:var(--gg-space-2);margin-top:var(--gg-space-4);color:var(--gg-muted-foreground);font-size:13px}.gg-tabs{display:flex;gap:var(--gg-space-1);border-bottom:1px solid var(--gg-border);overflow-x:auto;scrollbar-width:none}.gg-tabs::-webkit-scrollbar{display:none}.gg-tab{position:relative;display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:var(--gg-space-3) var(--gg-space-4);font-size:14px;font-weight:500;color:var(--gg-muted-foreground);white-space:nowrap}.gg-tab:hover{color:var(--gg-foreground)}.gg-tab--active{color:var(--gg-foreground);font-weight:600}.gg-tab--active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gg-primary);border-radius:2px 2px 0 0}.gg-tab__badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--gg-primary);color:#fff;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.gg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px}.gg-grid--2{grid-template-columns:repeat(2,1fr)}.gg-grid--3{grid-template-columns:repeat(3,1fr)}.gg-grid--4{grid-template-columns:repeat(4,1fr)}.gg-span-2{grid-column:1 / -1}@media(max-width:900px){.gg-grid--3,.gg-grid--4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.gg-grid,.gg-grid--2,.gg-grid--3,.gg-grid--4{grid-template-columns:1fr}}.gg-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.gg-row-actions{display:flex;flex-wrap:wrap;gap:6px}.gg-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.gg-toolbar__title{margin:0;font-size:20px;font-weight:700}.gg-toolbar__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.gg-toolbar__search{width:260px}.gg-toolbar__label{font-size:13px;font-weight:500;color:var(--gg-muted-foreground);white-space:nowrap}.gg-toolbar__count{font-size:13px;font-weight:500;color:var(--gg-muted-foreground);margin-left:8px}.gg-menu-wrap{position:relative;display:inline-flex}.gg-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--gg-card);border:1px solid var(--gg-border);border-radius:var(--gg-radius);box-shadow:var(--gg-shadow);padding:4px;z-index:50}.gg-menu__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;background:transparent;border-radius:var(--gg-radius-sm);font:inherit;font-size:13px;color:var(--gg-foreground);cursor:pointer;text-align:left}.gg-menu__item:hover{background:var(--gg-background)}.gg-menu__item--danger{color:var(--gg-danger)}.gg-menu__item:disabled{opacity:.5;cursor:default}@media(max-width:640px){.gg-toolbar,.gg-toolbar__actions{flex-direction:column;align-items:stretch}.gg-toolbar__search{width:100%}}.gg-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gg-form-row--4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.gg-form-row--4{grid-template-columns:1fr 1fr}}@media(max-width:640px){.gg-form-row,.gg-form-row--4{grid-template-columns:1fr}}.gg-form-section-title{margin:20px 0 12px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gg-muted-foreground)}.gg-check{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;cursor:pointer}.gg-check input[type=checkbox]{width:18px;height:18px;cursor:pointer}.gg-note{background:var(--gg-info-soft);border:1px solid var(--gg-info);border-radius:var(--gg-radius-sm);padding:15px;margin-bottom:15px}.gg-note--neutral{background:var(--gg-background);border-color:var(--gg-border)}.gg-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--gg-muted-foreground)}.gg-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.gg-pagination__info{font-size:13px;color:var(--gg-muted-foreground)}.gg-iconbtn{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--gg-card);border:1px solid var(--gg-border);border-radius:var(--gg-radius-sm);color:var(--gg-foreground);cursor:pointer;transition:background .15s ease}.gg-iconbtn:hover{background:var(--gg-background)}.gg-iconbtn__badge{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:999px;background:var(--gg-danger);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.gg-sensitive{position:relative;border-radius:inherit}.gg-sensitive__blurred{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none}.gg-sensitive__cover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#f4f6fa8c;border-radius:inherit;z-index:2;color:var(--gg-muted-foreground)}.gg-sensitive__label{font-size:13px;font-weight:600}.gg-sensitive--inline .gg-sensitive__cover{gap:6px}.gg-sensitive__lockbtn{position:absolute;top:8px;right:8px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:var(--gg-card);border:1px solid var(--gg-border);border-radius:var(--gg-radius-sm);color:var(--gg-muted-foreground);cursor:pointer;z-index:2}.gg-sensitive__lockbtn:hover{background:var(--gg-background)}.login-container{display:flex;min-height:100vh;background:var(--gg-background)}.login-branding{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:var(--gg-space-2);padding:var(--gg-space-8);padding-bottom:calc(var(--gg-space-8) + 8px);background:#0f172a;color:#fff;text-align:center;position:relative;clip-path:url(#login-wave-v);padding-right:calc(var(--gg-space-8) + 56px)}.login-form-section{margin-left:-48px}.login-branding:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/login-bg.jpg) center / cover no-repeat;filter:saturate(.85);pointer-events:none}.login-branding:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a4d,#0f172a26 45%,#0f172acc 80%,#0f172aeb);pointer-events:none}.login-branding>*{position:relative;z-index:1}.gym-logo{position:absolute;top:var(--gg-space-6);right:calc(var(--gg-space-8) + 40px);left:auto;width:300px;height:300px;object-fit:contain;background:none;border-radius:0;padding:0;filter:drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 6px 18px rgba(0,0,0,.6));z-index:2}.brand-title,.brand-subtitle{color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.7)}.brand-title{font-size:44px;font-weight:800;letter-spacing:-1px;margin:0;text-transform:uppercase}.brand-subtitle{font-size:17px;font-weight:400;opacity:.9;margin:0}.login-form-section{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--gg-space-8)}.login-card{background:var(--gg-card);border:1px solid var(--gg-border);border-radius:var(--gg-radius-lg);box-shadow:var(--gg-shadow-lg);padding:var(--gg-space-8);width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:var(--gg-space-6)}.login-header h2{font-size:26px;font-weight:700;margin:0 0 6px;letter-spacing:-.5px}.login-header p{color:var(--gg-muted-foreground);font-size:14px;margin:0}.login-form{display:flex;flex-direction:column;gap:var(--gg-space-4)}.login-error{background:var(--gg-danger-soft);color:var(--gg-danger);border-left:3px solid var(--gg-danger);border-radius:var(--gg-radius-sm);padding:var(--gg-space-3) var(--gg-space-4);font-size:13px;font-weight:500}.login-footer{text-align:center;margin-top:var(--gg-space-6);padding-top:var(--gg-space-5);border-top:1px solid var(--gg-border)}.login-footer p{color:var(--gg-muted-foreground);font-size:13px;margin:0}.register-link{color:var(--gg-primary);font-weight:600}.register-link:hover{text-decoration:underline}@media(max-width:768px){.login-container{flex-direction:column}.login-branding{padding:var(--gg-space-8) var(--gg-space-5) calc(var(--gg-space-6) + 48px);clip-path:url(#login-wave-h)}.login-form-section{margin-left:0;margin-top:-40px}.gym-logo{width:160px;height:160px;top:var(--gg-space-4);right:var(--gg-space-4);left:auto}.login-branding{min-height:360px;padding-bottom:calc(var(--gg-space-6) + 56px)}.brand-title{font-size:30px}.brand-subtitle{font-size:15px}.login-form-section{padding:var(--gg-space-6) var(--gg-space-5);align-items:flex-start}.login-card{padding:var(--gg-space-6) var(--gg-space-5);box-shadow:var(--gg-shadow)}}.login-branding{animation:loginSlideIn .7s cubic-bezier(.22,.61,.36,1) both}.login-branding:before{animation:loginKenBurns 1.6s cubic-bezier(.22,.61,.36,1) both}.gym-logo{animation:loginLogoIn .9s cubic-bezier(.22,.61,.36,1) .25s both}.brand-title{animation:loginRiseIn .7s cubic-bezier(.22,.61,.36,1) .45s both}.brand-subtitle{animation:loginRiseIn .7s cubic-bezier(.22,.61,.36,1) .6s both}.login-card{animation:loginCardIn .7s cubic-bezier(.22,.61,.36,1) .35s both}.login-form .gg-field,.login-form .gg-btn,.login-footer{animation:loginRiseIn .6s cubic-bezier(.22,.61,.36,1) both}.login-form .gg-field:nth-child(1){animation-delay:.55s}.login-form .gg-field:nth-child(2){animation-delay:.65s}.login-form .gg-btn{animation-delay:.75s}.login-footer{animation-delay:.85s}.login-card{transition:box-shadow .3s ease,transform .3s ease}.login-card:focus-within{box-shadow:0 20px 48px #0f172a2e;transform:translateY(-2px)}@keyframes loginSlideIn{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes loginKenBurns{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes loginLogoIn{0%{opacity:0;transform:scale(.8) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes loginRiseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes loginCardIn{0%{opacity:0;transform:translate(32px) translateY(8px)}to{opacity:1;transform:translate(0) translateY(0)}}@media(max-width:768px){@keyframes loginSlideIn{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes loginCardIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}}:root{--primary-color: #FF0000;--secondary-color: #CC0000;--accent-color: #000000;--success-color: #00C851;--text-dark: #000000;--text-light: #666666;--background-light: #f5f5f5;--white: #ffffff;--shadow-light: rgba(255, 0, 0, .1);--shadow-medium: rgba(255, 0, 0, .15);--shadow-strong: rgba(255, 0, 0, .25);--gradient-primary: linear-gradient(135deg, #FF0000 0%, #CC0000 50%, #000000 100%);--gradient-secondary: linear-gradient(135deg, #FF0000 0%, #CC0000 100%)}.dashboard-container{min-height:100vh;background:linear-gradient(135deg,var(--background-light) 0%,#e8e8e8 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-header{background:var(--white);padding:20px 40px;box-shadow:0 4px 20px var(--shadow-light);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb}.header-brand{display:flex;align-items:center;gap:15px}.header-logo{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 4px 8px var(--shadow-light))}.brand-info{display:flex;flex-direction:column}.brand-name{font-size:28px;font-weight:800;color:var(--primary-color);margin:0;letter-spacing:-.5px}.brand-tagline{font-size:14px;color:var(--text-light);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.user-section{display:flex;align-items:center;gap:30px}.header-left{display:flex;align-items:center;gap:15px}.header-left h1{margin:0;color:var(--text-dark);font-size:24px}.role-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.role-administrador{background:var(--gradient-secondary);color:var(--white)}.role-entrenador{background:var(--gradient-primary);color:var(--white)}.role-vendedor{background:linear-gradient(135deg,#4facfe,#00f2fe);color:var(--white)}.header-right{display:flex;align-items:center;gap:20px}.welcome-text{color:var(--text-light);font-weight:500}.logout-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:var(--white);border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.logout-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #ff6b6b4d}.dashboard-main{padding:30px;max-width:1200px;margin:0 auto}.dashboard-admin h2,.dashboard-entrenador h2,.dashboard-vendedor h2{color:var(--text-dark);margin-bottom:30px;font-size:28px;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:var(--white);padding:30px;border-radius:15px;box-shadow:0 5px 20px var(--shadow-light);text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-card h3{color:var(--text-light);font-size:16px;margin:0 0 15px;font-weight:500}.stat-number{font-size:48px;font-weight:700;margin:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-actions,.entrenador-actions,.vendedor-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:30px}.action-btn{padding:15px 25px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.action-btn.primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white)}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow-medium)}.action-btn.secondary{background:var(--white);color:var(--primary-color);border:2px solid var(--primary-color)}.action-btn.secondary:hover{background:var(--primary-color);color:var(--white);transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow-medium)}.dashboard-admin .stat-card{border-left:4px solid var(--primary-color)}.dashboard-entrenador .stat-card{border-left:4px solid #f5576c}.dashboard-entrenador .action-btn.primary{background:linear-gradient(135deg,#f093fb,#f5576c)}.dashboard-entrenador .action-btn.secondary{color:#f5576c;border-color:#f5576c}.dashboard-entrenador .action-btn.secondary:hover{background:#f5576c}.dashboard-vendedor .stat-card{border-left:4px solid #4facfe}.dashboard-vendedor .action-btn.primary{background:linear-gradient(135deg,#4facfe,#00f2fe)}.dashboard-vendedor .action-btn.secondary{color:#4facfe;border-color:#4facfe}.dashboard-vendedor .action-btn.secondary:hover{background:#4facfe}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:var(--text-light)}.quick-actions{margin-top:48px;background:var(--white);border-radius:16px;padding:32px;box-shadow:0 4px 20px var(--shadow-light);border:1px solid #f1f5f9}.quick-actions h4{font-size:20px;font-weight:700;color:var(--text-dark);margin:0 0 24px;display:flex;align-items:center;gap:12px}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.quick-action-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:12px}.quick-action-card:hover{transform:translateY(-2px);border-color:var(--primary-color);box-shadow:0 8px 25px var(--shadow-light);background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);color:var(--white)}.quick-action-icon{font-size:28px;margin-bottom:8px}.quick-action-card span:last-child{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.dashboard-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background:var(--background-light)}.loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.dashboard-loading p{font-size:16px;color:var(--text-light);font-weight:500}@media(max-width:768px){.dashboard-header{flex-direction:column;gap:20px;padding:20px}.header-brand{justify-content:center}.brand-name{font-size:24px}.user-section{flex-direction:column;gap:20px;width:100%}.user-info{justify-content:center}.dashboard-content{padding:20px}.stats-container{grid-template-columns:1fr;gap:16px}.action-buttons{grid-template-columns:1fr;gap:12px}.quick-actions-grid{grid-template-columns:repeat(2,1fr);gap:12px}.quick-action-card{padding:16px}}@media(max-width:480px){.header-logo{width:40px;height:40px}.brand-name{font-size:20px}.user-avatar{width:50px;height:50px;font-size:20px}.user-details h2{font-size:18px}.dashboard-content{padding:16px}.stat-card{padding:24px}.stat-number{font-size:28px}.quick-actions-grid{grid-template-columns:1fr}.quick-actions{padding:24px}}:root{--primary-color: #FF0000;--secondary-color: #CC0000;--accent-color: #000000;--success-color: #00C851;--warning-color: #f59e0b;--error-color: #ef4444;--white: #ffffff;--background-light: #f5f5f5;--text-dark: #000000;--text-light: #666666;--text-muted: #999999;--shadow-light: rgba(255, 0, 0, .1);--shadow-medium: rgba(255, 0, 0, .15);--shadow-strong: rgba(255, 0, 0, .25);--gradient-primary: linear-gradient(135deg, #FF0000 0%, #CC0000 50%, #000000 100%);--gradient-secondary: linear-gradient(135deg, #FF0000 0%, #CC0000 100%)}.admin-panel{min-height:100vh;background:linear-gradient(135deg,var(--background-light) 0%,#e8e8e8 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:var(--white);border-bottom:2px solid var(--primary-color);margin-bottom:20px;box-shadow:0 2px 10px #ff00001a}.brand-section{display:flex;align-items:center;gap:12px}.brand-logo{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(255,0,0,.2))}.user-avatar{width:36px;height:36px;background:var(--gradient-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);box-shadow:0 2px 8px #ff00004d}.btn-logout:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff00004d}.admin-tabs{display:flex;background:var(--white);border-radius:12px;padding:8px;margin-bottom:30px;box-shadow:0 2px 8px #00000014;border:1px solid #e2e8f0;overflow-x:auto}.admin-tabs .tab{display:flex;align-items:center;gap:10px;padding:14px 20px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:8px;font-weight:500;font-size:14px;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.admin-tabs .tab:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);z-index:-1}.admin-tabs .tab:hover{color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #ff000026}.admin-tabs .tab:hover:before{opacity:.05}.admin-tabs .tab.active{color:var(--white);background:var(--gradient-secondary);box-shadow:0 4px 16px #ff00004d;transform:translateY(-1px)}.admin-tabs .tab.active:before{opacity:0}.admin-tabs .tab-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.admin-tabs .tab:hover .tab-icon{transform:scale(1.1)}.admin-tabs .tab-text{font-weight:600;letter-spacing:.8px}.financial-summary{margin-top:2rem;padding:1.5rem;background:var(--gradient-primary);border-radius:16px;color:#fff}.financial-summary h3{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.financial-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.financial-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;text-align:center;border:1px solid rgba(255,255,255,.2)}.financial-card h4{margin:0 0 .5rem;font-size:1rem;font-weight:500;opacity:.9}.financial-card .amount{margin:0;font-size:1.5rem;font-weight:700}.financial-card .amount.positive{color:#4ade80}.financial-card .amount.negative{color:#f87171}.admin-content{background:var(--white);padding:40px;margin:0;border-radius:0;box-shadow:none;min-height:calc(100vh - 140px)}.admin-dashboard h2{font-size:24px;font-weight:700;color:var(--text-dark);margin:0 0 32px;display:flex;align-items:center;gap:12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:0}.stat-card{background:#fff!important;padding:24px;border-radius:16px;box-shadow:0 2px 8px #00000014;border:1px solid #e2e8f0;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow-medium)}.stat-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.stat-icon{width:48px;height:48px;background:var(--gradient-secondary)!important;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--white)!important;flex-shrink:0}.stat-card .stat-icon,.stats-grid .stat-icon,.admin-dashboard .stat-icon,.stat-card .stat-header .stat-icon{background:var(--gradient-secondary)!important;color:var(--white)!important}[class*=stat-icon],.stat-icon,div[class=stat-icon],.admin-dashboard .stats-grid .stat-card .stat-header .stat-icon{background:linear-gradient(135deg,red,#c00)!important;color:#fff!important}.stat-card h3{font-size:14px;font-weight:600;color:var(--text-dark);margin:0;text-transform:uppercase;letter-spacing:.5px}.stat-content{display:flex;justify-content:space-between;align-items:flex-end}.stat-number{font-size:32px;font-weight:800;color:var(--text-dark);margin:0;line-height:1}.stat-chart{flex-shrink:0}.mini-chart{display:flex;align-items:flex-end;gap:3px;height:40px;width:60px}.chart-bar{background:var(--gradient-secondary);width:8px;border-radius:4px 4px 0 0;opacity:.8;transition:all .3s ease}.stat-card:hover .chart-bar{opacity:1;transform:scaleY(1.1)}.usuarios-table{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.usuario-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000000d;transition:transform .2s ease}.usuario-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000001a}.rol-badge{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:700;margin-right:10px}.rol-administrador{background:var(--gradient-secondary);color:#fff}.rol-entrenador{background:linear-gradient(135deg,var(--white) 0%,#f8fafc 100%);color:var(--text-dark);border:1px solid #e2e8f0}.rol-vendedor{background:var(--gradient-primary);color:#fff}.status-badge{padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:700}.status-badge.activo{background:#48bb78;color:#fff}.status-badge.inactivo{background:#f56565;color:#fff}.reportes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.reporte-card{background:var(--gradient-primary);color:#fff;padding:25px;border-radius:15px;text-align:center}.reporte-value{font-size:2rem;font-weight:700;margin-top:10px}.vendedores-ranking{background:#fff;border-radius:10px;padding:20px;border:1px solid #e2e8f0}.vendedor-item{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #e2e8f0}.vendedor-item:last-child{border-bottom:none}.vendedor-total{font-weight:700;color:#48bb78}.equipos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px}.equipo-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000000d}.estado-badge{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:700;margin-top:10px}.estado-excelente{background:#48bb78;color:#fff}.estado-bueno{background:#38b2ac;color:#fff}.estado-regular{background:#ed8936;color:#fff}.estado-malo{background:#f56565;color:#fff}.estado-fuera-de-servicio{background:#a0aec0;color:#fff}.promociones-list{display:flex;flex-direction:column;gap:20px;margin-top:20px}.promocion-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000000d}.promocion-details{display:flex;gap:15px;align-items:center;margin-top:15px;flex-wrap:wrap}.descuento{background:linear-gradient(135deg,var(--white) 0%,#f8fafc 100%);color:var(--text-dark);border:1px solid #e2e8f0;padding:6px 12px;border-radius:15px;font-weight:700}.fechas{color:#666;font-size:.9rem}.status.activa{background:#48bb78;color:#fff;padding:4px 12px;border-radius:15px;font-size:.8rem}.status.inactiva{background:#a0aec0;color:#fff;padding:4px 12px;border-radius:15px;font-size:.8rem}.btn-primary{background:var(--gradient-secondary);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-weight:700;cursor:pointer;transition:all .3s ease;margin-bottom:20px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.btn-logout{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;margin-left:15px}.btn-logout:hover{background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.btn-logout:active{transform:translateY(0)}.user-info{display:flex;align-items:center;gap:10px}.user-name,.user-role{font-weight:500}.user-role{background:var(--gradient-secondary);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px}.loading{text-align:center;padding:40px;font-size:1.2rem;color:#667eea}.no-data{text-align:center;padding:40px;color:#a0aec0;font-style:italic;background:#f7fafc;border-radius:10px;border:2px dashed #e2e8f0}@media(max-width:768px){.admin-header{flex-direction:column;gap:20px;padding:20px}.brand-section{justify-content:center}.brand-name{font-size:24px}.user-section{flex-direction:column;gap:20px;width:100%}.user-info{justify-content:center}.admin-tabs{padding:0 20px;justify-content:center}.tab{padding:16px 20px;font-size:12px}.tab-icon{font-size:14px}.admin-content{padding:20px}.stats-grid,.usuarios-table{grid-template-columns:1fr;gap:16px}}@media(max-width:480px){.admin-logo{width:40px;height:40px}.brand-name{font-size:20px}.user-avatar{width:40px;height:40px}.user-icon{font-size:16px}.admin-content{padding:16px}.stat-card{padding:24px}.stat-number{font-size:28px}.usuario-card{padding:20px}.admin-tabs{padding:0 16px}.tab{padding:12px 16px;flex-direction:column;gap:4px}.tab-text{font-size:11px}}.admin-usuarios{background:var(--white);border-radius:16px;padding:32px;box-shadow:0 2px 8px #00000014}.usuarios-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.usuarios-header h2{font-size:24px;font-weight:700;color:var(--text-dark);margin:0}.btn-create-user{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.5px}.btn-create-user:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2563eb4d}.usuarios-table-container{background:var(--white);border-radius:12px;border:1px solid #e2e8f0;overflow-x:auto;box-shadow:0 4px 6px #0000000d;min-width:800px}.usuarios-table{width:100%!important;min-width:800px!important;border-collapse:collapse;table-layout:fixed!important}.usuarios-table-fixed{display:table!important;width:100%!important;table-layout:fixed!important}.usuarios-table-fixed th:nth-child(1){width:240px!important}.usuarios-table-fixed th:nth-child(2){width:200px!important}.usuarios-table-fixed th:nth-child(3){width:160px!important}.usuarios-table-fixed th:nth-child(4){width:120px!important}.usuarios-table-fixed th:nth-child(5){width:80px!important}.usuarios-table-fixed td:nth-child(1){width:240px!important}.usuarios-table-fixed td:nth-child(2){width:200px!important}.usuarios-table-fixed td:nth-child(3){width:160px!important}.usuarios-table-fixed td:nth-child(4){width:120px!important}.usuarios-table-fixed td:nth-child(5){width:80px!important}.usuarios-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.usuarios-table th{padding:16px 20px;text-align:left;font-size:13px;font-weight:600;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.usuarios-table th:nth-child(1),.usuarios-table td:nth-child(1){width:30%!important;min-width:200px}.usuarios-table th:nth-child(2),.usuarios-table td:nth-child(2){width:25%!important;min-width:180px}.usuarios-table th:nth-child(3),.usuarios-table td:nth-child(3){width:20%!important;min-width:140px}.usuarios-table th:nth-child(4),.usuarios-table td:nth-child(4){width:15%!important;min-width:120px}.usuarios-table th:nth-child(5),.usuarios-table td:nth-child(5){width:10%!important;min-width:100px}.usuario-row{border-bottom:1px solid #f1f5f9;transition:all .2s ease}.usuario-row:hover{background:#f8fafc}.usuario-row:last-child{border-bottom:none}.usuarios-table td{padding:16px 20px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usuario-cell-info{display:flex;align-items:center;gap:12px;overflow:visible;white-space:normal}.usuario-avatar-small{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0}.usuario-avatar-small img{width:100%;height:100%;object-fit:cover}.avatar-placeholder-small{width:100%;height:100%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);display:flex;align-items:center;justify-content:center;color:var(--white)}.usuario-nombre-table{font-size:15px;font-weight:600;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.usuario-email-table,.usuario-telefono-table{font-size:14px;color:var(--text-muted)}.rol-badge-table{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--white)}.rol-badge-table.rol-administrador{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%)}.rol-badge-table.rol-vendedor{background:var(--gradient-primary)}.rol-badge-table.rol-kinesiologo{background:linear-gradient(135deg,#10b981,#059669)}.rol-badge-table.rol-entrenador{background:linear-gradient(135deg,var(--accent-color) 0%,#333333 100%)}.rol-badge-table.rol-cliente{background:linear-gradient(135deg,#6b7280,#4b5563)}.usuario-actions-table{display:flex;gap:8px;justify-content:center;align-items:center}.usuario-rol-table{text-align:center}.btn-credential-table,.btn-delete-user-table{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-credential-table{background:linear-gradient(135deg,#f59e0b,#d97706);color:var(--white)}.btn-credential-table:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.btn-delete-user-table{background:linear-gradient(135deg,#ef4444,#dc2626);color:var(--white)}.btn-delete-user-table:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media(max-width:768px){.usuarios-table-container{overflow-x:auto}.usuarios-table{min-width:600px}.usuarios-table th,.usuarios-table td{padding:12px 16px}.usuario-avatar-small{width:32px;height:32px}.usuario-nombre-table{font-size:14px}.usuario-email-table,.usuario-telefono-table{font-size:13px}.rol-badge-table{font-size:10px;padding:3px 8px}.btn-credential-table,.btn-delete-user-table{width:32px;height:32px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);text-align:center}.empty-state svg{margin-bottom:20px;opacity:.5}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-dark);margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--white);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px 20px;border-bottom:1px solid #e2e8f0}.modal-header h2{font-size:20px;font-weight:700;color:var(--text-dark);margin:0;display:flex;align-items:center;gap:12px}.modal-header h2:before{content:"👤";font-size:24px}.modal-close{width:36px;height:36px;border:none;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .2s ease}.modal-close:hover{background:#e2e8f0;color:var(--text-dark);transform:scale(1.05)}.user-form{padding:32px;display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select{padding:14px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;color:var(--text-dark);background:var(--white);transition:all .2s ease;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-group input::placeholder{color:var(--text-muted)}.form-group select{cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.file-upload{position:relative}.file-upload input[type=file]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-upload-label{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;transition:all .2s ease;color:var(--text-muted);font-size:14px;background:#f8fafc}.file-upload-label:hover{border-color:var(--primary-color);background:#2563eb0d;color:var(--primary-color)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e2e8f0}.btn-cancel{padding:12px 24px;border:2px solid #e2e8f0;background:var(--white);color:var(--text-muted);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-cancel:hover{border-color:#cbd5e1;color:var(--text-dark);background:#f8fafc}.btn-submit{padding:12px 24px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;min-width:140px}.btn-submit:hover{transform:translateY(-1px);box-shadow:0 8px 20px #2563eb4d}.btn-submit:active{transform:translateY(0)}@media(max-width:640px){.modal-content{width:95%;margin:20px}.modal-header{padding:20px 24px 16px}.user-form{padding:24px;gap:20px}.form-row{grid-template-columns:1fr;gap:16px}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%;justify-content:center}}.admin-equipos{display:flex;flex-direction:column;gap:2rem}.equipos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.equipos-header h2{margin:0;color:var(--text-dark);font-size:2rem;font-weight:700}.equipos-filters{background:var(--white);padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px var(--shadow-light);border:1px solid #e5e7eb}.filter-group{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;align-items:center}.search-input{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.filter-select{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;background:var(--white);cursor:pointer;transition:border-color .3s ease}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.equipos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem}.equipo-card{background:var(--white);border-radius:16px;padding:2rem;box-shadow:0 4px 20px var(--shadow-light);border:1px solid #e5e7eb;transition:all .3s ease;position:relative}.equipo-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px var(--shadow-medium)}.equipo-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.equipo-header h4{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-dark);flex:1}.estado-operativo{background:#dcfce7;color:#166534}.estado-mantenimiento{background:#fef3c7;color:#92400e}.estado-reparacion{background:#fee2e2;color:#dc2626}.estado-fuera-servicio{background:#f3f4f6;color:#374151}.equipo-info{margin-bottom:1.5rem}.equipo-info p{margin:.5rem 0;font-size:.95rem;color:var(--text-light)}.equipo-info strong{color:var(--text-dark);font-weight:600}.equipo-mantenimiento{background:#f8fafc;padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--warning-color)}.equipo-mantenimiento h5{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-dark)}.equipo-mantenimiento p{margin:.25rem 0;font-size:.9rem;color:var(--text-light)}.equipo-descripcion{background:#f9fafb;padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--primary-color)}.equipo-descripcion p:first-child{margin:0 0 .5rem;font-weight:600;color:var(--text-dark)}.equipo-descripcion p:last-child{margin:0;font-size:.9rem;color:var(--text-light);line-height:1.5}.equipo-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-edit{flex:1;padding:.75rem 1rem;background:var(--primary-color);color:var(--white);border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-edit:hover{background:var(--secondary-color);transform:translateY(-1px)}.btn-delete{flex:1;padding:.75rem 1rem;background:var(--error-color);color:var(--white);border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-delete:hover{background:#dc2626;transform:translateY(-1px)}.equipo-modal{max-width:800px;max-height:90vh;overflow-y:auto}.equipo-modal h3{margin:0 0 2rem;font-size:1.8rem;font-weight:700;color:var(--text-dark);text-align:center}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:600;color:var(--text-dark);font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .3s ease;background:var(--white)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;min-height:80px}.mantenimiento-section{background:#f8fafc;padding:2rem;border-radius:12px;margin:2rem 0;border-left:4px solid var(--warning-color)}.mantenimiento-section h4{margin:0 0 1.5rem;font-size:1.3rem;font-weight:700;color:var(--text-dark)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e7eb}.btn-secondary{padding:.75rem 2rem;background:var(--accent-color);color:var(--white);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#333;transform:translateY(-1px)}@media(max-width:768px){.equipos-header{flex-direction:column;gap:1rem;align-items:stretch}.filter-group{grid-template-columns:1fr;gap:1rem}.equipos-grid{grid-template-columns:1fr}.equipo-actions{flex-direction:column}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.admin-promociones{display:flex;flex-direction:column;gap:2rem}.promociones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.promociones-header h2{margin:0;color:var(--text-dark);font-size:2rem;font-weight:700}.promociones-filters{background:var(--white);padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px var(--shadow-light);border:1px solid #e5e7eb}.promociones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:2rem}.promocion-card{background:var(--white);border-radius:16px;padding:2rem;box-shadow:0 4px 20px var(--shadow-light);border:1px solid #e5e7eb;transition:all .3s ease;position:relative;overflow:hidden}.promocion-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px var(--shadow-medium)}.promocion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.promocion-header h4{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-dark);flex:1;margin-right:1rem}.promocion-badges{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.estado-badge{padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.estado-badge.activa{background:#dcfce7;color:#166534}.estado-badge.inactiva{background:#fee2e2;color:#dc2626}.vigencia-badge{padding:.3rem .6rem;border-radius:12px;font-size:.75rem;font-weight:500}.vigencia-badge.vigente{background:#ff00001a;color:var(--primary-color)}.vigencia-badge.vencida{background:#fef3c7;color:#92400e}.promocion-info{margin-bottom:1.5rem}.descripcion{font-size:1rem;color:var(--text-light);margin-bottom:1.5rem;line-height:1.5}.promocion-detalles{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.detalle-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8fafc;border-radius:8px}.detalle-item strong{color:var(--text-dark);font-weight:600;font-size:.9rem}.valor-descuento{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.codigo-promo{font-family:Courier New,monospace;background:#e5e7eb;padding:.25rem .5rem;border-radius:4px;font-weight:600;color:var(--text-dark)}.aplicable-tags{display:flex;gap:.5rem;flex-wrap:wrap}.tag{background:var(--primary-color);color:var(--white);padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:500}.limites-uso,.condiciones{background:#f9fafb;padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--warning-color)}.limites-uso h5,.condiciones h5{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-dark)}.limites-uso p,.condiciones p{margin:.25rem 0;font-size:.9rem;color:var(--text-light)}.promocion-actions{display:flex;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-toggle{flex:1;padding:.6rem .8rem;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.3rem}.btn-activate{background:var(--success-color);color:var(--white)}.btn-activate:hover{background:#059669;transform:translateY(-1px)}.btn-deactivate{background:var(--warning-color);color:var(--white)}.btn-deactivate:hover{background:#d97706;transform:translateY(-1px)}.promocion-modal{max-width:900px;max-height:90vh;overflow-y:auto}.promocion-modal h3{margin:0 0 2rem;font-size:1.8rem;font-weight:700;color:var(--text-dark);text-align:center}.codigo-input-group{display:flex;gap:.5rem}.codigo-input-group input{flex:1}.btn-generar-codigo{padding:.75rem;background:var(--accent-color);color:var(--white);border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease}.btn-generar-codigo:hover{background:var(--primary-color);transform:scale(1.05)}.aplicable-section,.limites-section{background:#f8fafc;padding:2rem;border-radius:12px;margin:2rem 0;border-left:4px solid var(--primary-color)}.aplicable-section h4,.limites-section h4{margin:0 0 1.5rem;font-size:1.3rem;font-weight:700;color:var(--text-dark)}.checkbox-group{display:flex;gap:2rem;flex-wrap:wrap}.checkbox-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;color:var(--text-dark)}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color)}.estado-checkbox{justify-content:center;padding:1rem;background:#ff00000d;border-radius:8px;border:2px solid rgba(255,0,0,.2)}.estado-checkbox span{font-size:1.1rem;font-weight:600}@media(max-width:768px){.promociones-header{flex-direction:column;gap:1rem;align-items:stretch}.promociones-grid{grid-template-columns:1fr}.promocion-header{flex-direction:column;gap:1rem;align-items:stretch}.promocion-badges{flex-direction:row;justify-content:space-between}.detalle-item{flex-direction:column;align-items:flex-start;gap:.5rem}.promocion-actions{flex-direction:column}.checkbox-group{flex-direction:column;gap:1rem}.codigo-input-group{flex-direction:column}}.admin-configuracion{padding:0}.configuracion-header{margin-bottom:32px}.configuracion-header h2{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--text-dark)}.configuracion-header .subtitle{color:var(--text-light);font-size:16px;margin:0}.configuracion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:32px}.config-section{background:var(--white);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e7eb}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #f3f4f6}.section-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-dark)}.btn-small{padding:6px 12px;font-size:12px;border-radius:6px}.estadisticas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.estadistica-card{background:#f8fafc;border-radius:8px;padding:16px;border:1px solid #e2e8f0;transition:all .2s ease}.estadistica-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.estadistica-icon{font-size:24px;margin-bottom:8px}.estadistica-info{display:flex;flex-direction:column;gap:4px}.estadistica-label{font-size:12px;font-weight:500;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.estadistica-valor{font-size:20px;font-weight:700;color:var(--text-dark)}.estadistica-barra{width:100%;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-top:8px}.estadistica-progreso{height:100%;transition:width .3s ease}.estadistica-barra.normal .estadistica-progreso{background:linear-gradient(90deg,#10b981,#059669)}.estadistica-barra.advertencia .estadistica-progreso{background:linear-gradient(90deg,#f59e0b,#d97706)}.estadistica-barra.critica .estadistica-progreso{background:linear-gradient(90deg,#ef4444,#dc2626)}.config-form{display:flex;flex-direction:column;gap:16px}.config-form .form-group{display:flex;flex-direction:column;gap:6px}.config-form .form-group label{font-weight:600;color:var(--text-dark);font-size:13px}.config-form .form-group input,.config-form .form-group select{padding:10px 12px;border:2px solid #e5e7eb;border-radius:6px;font-size:14px;transition:border-color .2s ease}.config-form .form-group input:focus,.config-form .form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a}.config-form .form-group input:disabled,.config-form .form-group select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.config-form .form-group small{color:var(--text-light);font-size:12px;margin-top:4px}.sistema-info{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f3f4f6}.info-item:last-child{border-bottom:none}.info-label{font-weight:500;color:var(--text-light);font-size:14px}.info-valor{font-weight:600;color:var(--text-dark);font-size:14px}.info-valor.estado.operativo{color:#059669}.info-valor.estado.mantenimiento{color:#d97706}.configuracion-actions{display:flex;justify-content:center;padding:24px 0;border-top:2px solid #f3f4f6}.configuracion-actions .btn-primary{padding:12px 32px;font-size:16px;font-weight:600}.sistema-danger-zone{margin-top:24px;padding:20px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca;border-radius:8px;border-left:4px solid #ef4444}.danger-title{margin:0 0 8px;color:#dc2626;font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}.danger-description{margin:0 0 16px;color:#991b1b;font-size:14px;line-height:1.5}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-danger{max-width:600px;border:3px solid #ef4444}.modal-danger .modal-header{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:16px 24px;border-radius:8px 8px 0 0}.modal-danger .modal-header h3{margin:0;font-size:18px;font-weight:700}.modal-danger .modal-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.modal-danger .modal-close:hover{background:#fff3}.danger-warning{display:flex;gap:16px;margin-bottom:24px;padding:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;border-left:4px solid #ef4444}.warning-icon{font-size:32px;flex-shrink:0}.warning-content h4{margin:0 0 12px;color:#dc2626;font-size:16px;font-weight:700}.warning-content p{margin:0 0 12px;color:#991b1b;line-height:1.5}.warning-content ul{margin:0 0 12px;padding-left:0;list-style:none}.warning-content li{color:#991b1b;margin-bottom:4px;padding-left:16px;position:relative}.warning-note{background:#fbbf24;color:#92400e;padding:8px 12px;border-radius:4px;font-size:13px;margin-top:12px!important}.password-section{margin-bottom:20px}.password-section label{display:block;margin-bottom:8px;font-weight:600;color:#374151}.password-input{width:100%;padding:12px;border:2px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s ease}.password-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.confirmation-text{margin-bottom:24px}.confirmation-text p{margin:0 0 8px;font-weight:600;color:#374151}.confirmation-input{width:100%;padding:12px;border:2px solid #d1d5db;border-radius:6px;font-size:14px;font-family:monospace;text-transform:uppercase;transition:border-color .2s ease}.confirmation-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.btn-confirm-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-confirm-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-confirm-danger:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:768px){.configuracion-grid,.form-row{grid-template-columns:1fr}.estadisticas-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.section-header{flex-direction:column;align-items:stretch;gap:12px}.modal-danger{max-width:95%;margin:20px}.danger-warning{flex-direction:column;text-align:center}.warning-icon{align-self:center}}:root{--primary-color: #FF0000;--secondary-color: #CC0000;--accent-color: #000000;--success-color: #00C851;--warning-color: #f59e0b;--error-color: #ef4444;--finanzas-primary: #FF0000;--finanzas-secondary: #CC0000;--finanzas-accent: #FF4757;--white: #ffffff;--background-light: #f5f5f5;--text-dark: #000000;--text-light: #666666;--text-muted: #999999;--shadow-light: rgba(255, 0, 0, .1);--shadow-medium: rgba(255, 0, 0, .15);--shadow-strong: rgba(255, 0, 0, .25);--gradient-primary: linear-gradient(135deg, #FF0000 0%, #CC0000 50%, #000000 100%);--gradient-secondary: linear-gradient(135deg, #FF0000 0%, #CC0000 100%)}.finanzas-panel{min-height:100vh;background:linear-gradient(135deg,var(--background-light) 0%,#e8e8e8 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.finanzas-panel.no-header{min-height:auto;background:transparent}.finanzas-panel.no-header .panel-nav{margin-bottom:0}.user-avatar{width:36px;height:36px;background:linear-gradient(135deg,var(--finanzas-primary) 0%,var(--finanzas-secondary) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white)}.btn-logout{display:flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,var(--finanzas-primary) 0%,var(--finanzas-secondary) 100%);color:var(--white);border:none;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.5px}.btn-logout:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.nav-tab:hover{color:var(--finanzas-primary);background:#0596690d}.nav-tab.active{color:var(--finanzas-primary);border-bottom-color:var(--finanzas-primary);background:#0596691a}.dashboard-finanzas{display:flex;flex-direction:column;gap:2rem}.stats-grid-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card-dashboard{background:var(--white);border-radius:16px;padding:1.75rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;display:flex;align-items:center;gap:1.25rem;position:relative;overflow:hidden}.stat-card-dashboard:hover{transform:translateY(-3px);box-shadow:0 8px 30px #00000026}.stat-card-dashboard.ingresos-card{border-left:4px solid var(--finanzas-secondary)}.stat-card-dashboard.gastos-card{border-left:4px solid var(--error-color)}.stat-card-dashboard.utilidad-card.positive{border-left:4px solid var(--finanzas-primary)}.stat-card-dashboard.utilidad-card.negative{border-left:4px solid var(--error-color)}.stat-icon{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ingresos-card .stat-icon{background:linear-gradient(135deg,#ff00001a,#cc000026)}.ingresos-card .stat-icon svg{stroke:var(--finanzas-secondary)}.gastos-card .stat-icon{background:linear-gradient(135deg,#ef44441a,#dc262626)}.gastos-card .stat-icon svg{stroke:var(--error-color)}.utilidad-card.positive .stat-icon{background:linear-gradient(135deg,#ff00001a,#cc000026)}.utilidad-card.positive .stat-icon svg{stroke:var(--finanzas-primary)}.utilidad-card.negative .stat-icon{background:linear-gradient(135deg,#ef44441a,#dc262626)}.utilidad-card.negative .stat-icon svg{stroke:var(--error-color)}.stat-content{display:flex;flex-direction:column;gap:.5rem;flex:1}.stat-label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.stat-value{font-size:1.75rem;font-weight:800;color:var(--text-dark);line-height:1}.ingresos-card .stat-value{color:var(--finanzas-secondary)}.gastos-card .stat-value{color:var(--error-color)}.utilidad-card.positive .stat-value{color:var(--finanzas-primary)}.utilidad-card.negative .stat-value{color:var(--error-color)}.recent-transactions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.transactions-card{background:var(--white);border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;overflow:hidden}.transactions-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#fff)}.transactions-header h4{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-dark);display:flex;align-items:center}.transactions-list{padding:1rem;display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border-radius:10px;border-left:3px solid transparent;transition:all .2s ease}.transaction-item:hover{background:#f1f5f9;transform:translate(3px)}.transaction-item.ingreso-item{border-left-color:var(--finanzas-secondary)}.transaction-item.gasto-item{border-left-color:var(--error-color)}.transaction-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.transaction-concept{font-size:.95rem;font-weight:600;color:var(--text-dark)}.transaction-date{font-size:.8rem;color:var(--text-muted)}.transaction-amount{font-size:1.1rem;font-weight:700;white-space:nowrap}.transaction-amount.positive{color:var(--finanzas-secondary)}.transaction-amount.negative{color:var(--error-color)}.empty-state{text-align:center;padding:2rem;color:var(--text-muted);font-size:.95rem}.stat-card{background:var(--white);border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.stat-card.ingresos{border-left:4px solid var(--finanzas-secondary)}.stat-card.gastos{border-left:4px solid var(--error-color)}.stat-card.utilidad.positive{border-left:4px solid var(--finanzas-primary)}.stat-card.utilidad.negative{border-left:4px solid var(--error-color)}.stat-card h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.stat-card .amount{font-size:2.2rem;font-weight:700;margin:0;color:var(--text-dark)}.stat-card.ingresos .amount{color:var(--finanzas-secondary)}.stat-card.gastos .amount{color:var(--error-color)}.stat-card.utilidad.positive .amount{color:var(--finanzas-primary)}.stat-card.utilidad.negative .amount{color:var(--error-color)}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.chart-container{background:var(--white);border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.chart-container h4{margin:0 0 1.5rem;font-size:1.3rem;font-weight:600;color:var(--text-dark)}.recent-list{display:flex;flex-direction:column;gap:1rem}.recent-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border-radius:12px;border-left:4px solid var(--finanzas-primary)}.recent-item .amount{font-weight:600;color:var(--finanzas-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-header h3{margin:0;font-size:1.8rem;font-weight:700;color:var(--text-dark)}.btn-primary{background:linear-gradient(135deg,var(--finanzas-primary),var(--finanzas-secondary));color:var(--white);border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0596694d}.form-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.finance-form{background:var(--white);border-radius:20px;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.finance-form h4{margin:0 0 1.5rem;font-size:1.5rem;font-weight:700;color:var(--text-dark);text-align:center}.finance-form input,.finance-form select,.finance-form textarea{width:100%;padding:.75rem;margin-bottom:1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.finance-form input:focus,.finance-form select:focus,.finance-form textarea:focus{outline:none;border-color:var(--finanzas-primary)}.finance-form textarea{resize:vertical;min-height:80px}.form-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.form-buttons button{padding:.75rem 1.5rem;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.form-buttons button[type=submit]{background:linear-gradient(135deg,var(--finanzas-primary),var(--finanzas-secondary));color:var(--white)}.form-buttons button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #0596694d}.form-buttons button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.form-buttons button[type=button]{background:#f1f5f9;color:#64748b}.form-buttons button[type=button]:hover{background:#e2e8f0}.data-table{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.data-table table{width:100%;border-collapse:collapse}.data-table th{background:linear-gradient(135deg,var(--finanzas-primary),var(--finanzas-secondary));color:var(--white);padding:1rem;text-align:left;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.data-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:var(--text-dark)}.data-table tr:hover{background:#f8fafc}.data-table tr:last-child td{border-bottom:none}.data-table .positive{color:var(--finanzas-primary);font-weight:600}.data-table .negative{color:var(--error-color);font-weight:600}.status{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status.pendiente{background:#fef3c7;color:#92400e}.status.pagado{background:#dcfce7;color:#166534}.status.vencido{background:#fef2f2;color:#dc2626}@media(max-width:768px){.panel-header{flex-direction:column;gap:1rem;text-align:center;padding:12px 16px}.header-brand{justify-content:center}.header-logo{width:48px;height:48px}.brand-title{font-size:18px}.user-section{justify-content:center}.panel-nav{padding:0 1rem}.panel-content{padding:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.charts-section{grid-template-columns:1fr}.section-header{flex-direction:column;gap:1rem;align-items:stretch}.finance-form{margin:1rem;padding:1.5rem}.form-buttons{flex-direction:column}.data-table{overflow-x:auto}}@media(max-width:480px){.brand-title{font-size:16px}.nav-tab{padding:.75rem 1rem;font-size:.9rem}.stat-card{padding:1.5rem}.stat-card .amount{font-size:1.8rem}.chart-container{padding:1.5rem}}.loading{display:flex;justify-content:center;align-items:center;min-height:300px;font-size:1.2rem;color:var(--text-muted)}.error{display:flex;justify-content:center;align-items:center;min-height:300px;font-size:1.2rem;color:var(--error-color);text-align:center;padding:2rem}.coming-soon{display:flex;justify-content:center;align-items:center;min-height:300px;background:var(--white);border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;font-size:1.2rem;color:var(--text-muted);text-align:center}.presupuestos-section{display:flex;flex-direction:column;gap:2rem}.presupuestos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.presupuesto-card{background:var(--white);border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.presupuesto-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000001f}.presupuesto-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.presupuesto-header h4{margin:0;font-size:1.3rem;font-weight:700;color:var(--text-dark)}.presupuesto-info{margin-bottom:1.5rem}.presupuesto-info p{margin:.5rem 0;font-size:.9rem;color:var(--text-light)}.presupuesto-resumen{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:12px}.resumen-item{display:flex;justify-content:space-between;align-items:center;font-weight:600}.resumen-item.ingresos{color:var(--finanzas-secondary)}.resumen-item.gastos{color:var(--error-color)}.resumen-item.utilidad.positive{color:var(--finanzas-primary);border-top:1px solid #e2e8f0;padding-top:.75rem;font-size:1.1rem}.resumen-item.utilidad.negative{color:var(--error-color);border-top:1px solid #e2e8f0;padding-top:.75rem;font-size:1.1rem}.presupuesto-categorias h5{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-dark)}.categoria-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;background:var(--white);border-radius:8px;border-left:4px solid var(--finanzas-primary)}.categoria-nombre{font-weight:500;color:var(--text-dark)}.categoria-montos{display:flex;gap:1rem;font-size:.85rem}.categoria-montos .presupuestado{color:var(--text-light)}.categoria-montos .real{color:var(--text-dark);font-weight:600}.categoria-montos .variacion{font-weight:600;padding:.2rem .5rem;border-radius:12px;font-size:.8rem}.categoria-montos .variacion.positive{background:#dcfce7;color:#166534}.categoria-montos .variacion.negative{background:#fef2f2;color:#dc2626}.presupuesto-form{max-width:600px;max-height:90vh;overflow-y:auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.categorias-section{margin:1.5rem 0;padding:1rem;background:#f8fafc;border-radius:12px}.categorias-section h5{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-dark)}.categoria-input{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.75rem;background:var(--white);border-radius:8px;border:1px solid #e2e8f0}.categoria-tipo{font-weight:500;flex:1}.categoria-tipo.ingreso{color:var(--finanzas-secondary)}.categoria-tipo.gasto{color:var(--error-color)}.categoria-input input{width:150px;margin:0;padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem}.error-message{background:#fef2f2;color:#dc2626;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;border:1px solid #fecaca}.no-data{text-align:center;padding:3rem;color:var(--text-muted);background:var(--white);border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.no-data p:first-child{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.no-data p:last-child{font-size:1rem;margin:0}.rentabilidad-section{display:flex;flex-direction:column;gap:2rem}.periodo-selector{display:flex;align-items:center;gap:1rem}.periodo-select{padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-weight:500;color:var(--text-dark);background:var(--white);cursor:pointer;transition:border-color .3s ease}.periodo-select:focus{outline:none;border-color:var(--finanzas-primary)}.metricas-principales{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.metrica-card{background:var(--white);border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.metrica-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0000001f}.metrica-card.ingresos{border-left:4px solid var(--finanzas-secondary)}.metrica-card.gastos{border-left:4px solid var(--error-color)}.metrica-card.utilidad{border-left:4px solid var(--finanzas-primary)}.metrica-card.margen{border-left:4px solid var(--primary-color)}.metrica-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.metrica-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-light)}.metrica-valor{font-size:2rem;font-weight:700;color:var(--text-dark)}.metrica-valor.positive{color:var(--finanzas-primary)}.metrica-valor.negative{color:var(--error-color)}.metrica-detalle{margin-top:.5rem}.metrica-label{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.analisis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.analisis-card{background:var(--white);border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.analisis-card h4{margin:0 0 1.5rem;font-size:1.3rem;font-weight:700;color:var(--text-dark)}.comparativo-table{overflow-x:auto}.comparativo-table table{width:100%;border-collapse:collapse}.comparativo-table th{background:#f8fafc;color:var(--text-dark);padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.comparativo-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:var(--text-dark)}.comparativo-table tr:hover{background:#f8fafc}.categorias-rentabilidad{display:flex;flex-direction:column;gap:1rem}.categoria-rentabilidad{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#f8fafc;border-radius:12px;border-left:4px solid var(--finanzas-primary)}.categoria-info{flex:1}.categoria-nombre{font-weight:600;color:var(--text-dark);font-size:1.1rem;margin-bottom:.5rem;display:block}.categoria-metricas{display:flex;gap:1rem;font-size:.9rem}.categoria-metricas .ingreso{color:var(--finanzas-secondary);font-weight:500}.categoria-metricas .gasto{color:var(--error-color);font-weight:500}.categoria-metricas .utilidad{font-weight:600}.categoria-margen{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:120px}.margen-badge{font-weight:700;font-size:1.1rem;padding:.25rem .75rem;border-radius:20px}.margen-badge.positive{background:#dcfce7;color:#166534}.margen-badge.negative{background:#fef2f2;color:#dc2626}.margen-bar{width:100px;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.margen-fill{height:100%;border-radius:4px;transition:width .3s ease}.margen-fill.positive{background:linear-gradient(90deg,var(--finanzas-primary),var(--finanzas-secondary))}.margen-fill.negative{background:linear-gradient(90deg,var(--error-color),#f87171)}.tendencias-section{background:var(--white);border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.tendencias-section h4{margin:0 0 2rem;font-size:1.3rem;font-weight:700;color:var(--text-dark)}.tendencias-chart{height:300px;display:flex;align-items:flex-end;justify-content:center}.chart-container{width:100%;height:100%;display:flex;align-items:flex-end;padding:1rem 0}.chart-bars{display:flex;align-items:flex-end;justify-content:space-around;width:100%;height:100%;gap:1rem}.chart-bar-group{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1}.chart-bar{width:40px;height:200px;background:#f1f5f9;border-radius:4px;display:flex;align-items:flex-end;overflow:hidden}.bar-fill{width:100%;border-radius:4px;transition:height .5s ease}.bar-fill.utilidad{background:linear-gradient(180deg,var(--finanzas-primary),var(--finanzas-secondary))}.bar-label{font-size:.9rem;font-weight:600;color:var(--text-dark)}.bar-value{font-size:.8rem;color:var(--text-muted)}.indicadores-section{background:var(--white);border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.indicadores-section h4{margin:0 0 1.5rem;font-size:1.3rem;font-weight:700;color:var(--text-dark)}.indicadores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.indicador-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#f8fafc;border-radius:12px;border-left:4px solid var(--finanzas-primary)}.indicador-label{font-weight:500;color:var(--text-light);font-size:.95rem}.indicador-valor{font-weight:700;font-size:1.2rem;color:var(--text-dark)}.indicador-valor.positive{color:var(--finanzas-primary)}.header-clock{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;margin-right:20px}.clock-time{font-size:18px;font-weight:700;color:red;font-variant-numeric:tabular-nums;letter-spacing:.5px;line-height:1}.clock-date{font-size:12px;font-weight:500;color:#6b7280;text-transform:capitalize;line-height:1}@media(max-width:768px){.header-clock{margin-right:12px}.clock-time{font-size:16px}.clock-date{font-size:11px}}@media(max-width:480px){.header-clock{display:none}}.qr-scanner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;justify-content:center;align-items:center;z-index:2000;padding:0}.qr-scanner-modal{background:linear-gradient(135deg,red,#c00);border-radius:0;width:100vw;height:100vh;overflow:hidden;box-shadow:none;display:flex;flex-direction:column}.scanner-header{display:flex;justify-content:space-between;align-items:center;padding:25px 40px;border-bottom:2px solid rgba(255,255,255,.2);background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content h3{margin:0 0 8px;font-size:28px;font-weight:800;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.header-subtitle{font-size:16px;font-weight:500;margin:0;opacity:.9;font-style:italic}.header-actions{display:flex;align-items:center;gap:15px}.btn-logout{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);padding:10px 20px;border-radius:25px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-logout:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 4px 15px #0003}.close-scanner{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s ease}.close-scanner:hover{background:#fff3}.scanner-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;position:relative}.camera-view{background:#000;border-radius:30px;width:80vw;height:60vh;max-width:800px;max-height:600px;display:flex;align-items:center;justify-content:center;margin-bottom:30px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}.camera-container{position:relative;width:100%;height:100%}.camera-container video{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:30px;position:absolute!important;top:0!important;left:0!important}.camera-container>div{width:100%!important;height:100%!important;position:relative!important}.camera-container>div>div{width:100%!important;height:100%!important;position:relative!important}.camera-container canvas{display:none!important}.camera-container *{max-width:100%!important;max-height:100%!important}.camera-container [style*=width]{width:100%!important}.camera-container [style*=height]{height:100%!important}.camera-error{text-align:center;color:#fff;padding:20px}.error-icon{font-size:48px;margin-bottom:15px}.btn-retry-camera{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;margin-top:15px;transition:all .3s ease}.btn-retry-camera:hover{transform:translateY(-2px);box-shadow:0 4px 8px #f59e0b66}.viewfinder-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:250px;height:250px;pointer-events:none;z-index:100}.viewfinder-overlay:before{content:"";position:absolute;top:-30px;left:-30px;right:-30px;bottom:-30px;background:#0000004d;border-radius:15px;z-index:-1}.scan-instruction{position:absolute;bottom:30px;left:50%;transform:translate(-50%);color:#fff;background:#000c;padding:12px 24px;border-radius:25px;font-size:16px;font-weight:600;z-index:100;box-shadow:0 4px 15px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.qr-corners{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;pointer-events:none;z-index:150;transition:all .8s cubic-bezier(.25,.46,.45,.94)}.qr-corners.scanned{width:80px;height:80px;transform:translate(-50%,-50%) scale(.8)}.corner{position:absolute;width:25px;height:25px;border:4px solid #FF0000;box-shadow:0 0 20px #f00c;animation:cornerPulse 2s ease-in-out infinite;transition:all .8s cubic-bezier(.25,.46,.45,.94)}.qr-corners.scanned .corner{border-color:#10b981;box-shadow:0 0 30px #10b981;animation:scanSuccess .8s ease-out}.corner-top-left{top:0;left:0;border-right:none;border-bottom:none;border-top-left-radius:8px}.corner-top-right{top:0;right:0;border-left:none;border-bottom:none;border-top-right-radius:8px}.corner-bottom-left{bottom:0;left:0;border-right:none;border-top:none;border-bottom-left-radius:8px}.corner-bottom-right{bottom:0;right:0;border-left:none;border-top:none;border-bottom-right-radius:8px}.viewfinder{width:200px;height:200px;position:relative;margin:0 auto 15px}.btn-simulate-scan{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;margin-top:15px;transition:all .3s ease}.btn-simulate-scan:hover{transform:translateY(-2px);box-shadow:0 4px 8px #10b98166}.scanning-animation{text-align:center;color:#fff;position:relative;width:200px;height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}.scan-line{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#FF0000,transparent);animation:scan 2s linear infinite}@keyframes scan{0%{top:0}to{top:197px}}@keyframes cornerPulse{0%{box-shadow:0 0 20px #3b82f6cc;border-color:#3b82f6;transform:scale(1)}50%{box-shadow:0 0 30px #3b82f6;border-color:#60a5fa;transform:scale(1.05)}to{box-shadow:0 0 20px #3b82f6cc;border-color:#3b82f6;transform:scale(1)}}@keyframes scanSuccess{0%{border-color:#3b82f6;box-shadow:0 0 20px #3b82f6cc;transform:scale(1)}25%{border-color:#10b981;box-shadow:0 0 40px #10b981;transform:scale(1.2)}50%{border-color:#10b981;box-shadow:0 0 50px #10b981;transform:scale(1.1)}to{border-color:#10b981;box-shadow:0 0 30px #10b981;transform:scale(1)}}.manual-entry{background:#fffffff2;border-radius:20px;padding:30px;margin-bottom:30px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #0003;max-width:600px;width:100%}.manual-entry h4{margin:0 0 20px;color:#1f2937;font-size:20px;font-weight:700;text-align:center}.manual-entry form{display:flex;gap:15px;align-items:center;justify-content:center}.manual-input{flex:1;min-width:300px;padding:15px 20px;border:3px solid #d1d5db;border-radius:15px;font-size:18px;font-weight:500;transition:all .3s ease;text-align:center}.manual-input:focus{outline:none;border-color:red;box-shadow:0 0 0 3px #ff00001a}.btn-manual-submit{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:15px 30px;border-radius:15px;cursor:pointer;font-weight:700;font-size:16px;transition:all .3s ease;white-space:nowrap;box-shadow:0 4px 15px #10b9814d}.btn-manual-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #3b82f666}.btn-manual-submit:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.scanner-instructions{background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;padding:15px}.scanner-instructions h4{margin:0 0 10px;color:#92400e;font-size:14px}.scanner-instructions ul{margin:0;padding-left:20px;color:#92400e}.scanner-instructions li{margin-bottom:5px;font-size:13px}@media(max-width:600px){.qr-scanner-overlay{padding:10px}.camera-view{height:200px}.viewfinder{width:150px;height:150px}.manual-entry form{flex-direction:column}.manual-input{min-width:auto}}.entrenador-panel{min-height:100vh;background:linear-gradient(135deg,var(--background-light) 0%,#e2e8f0 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.brand-name{font-size:20px;font-weight:700;color:var(--text-dark);margin:0;letter-spacing:-.5px}.brand-tagline{font-size:11px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.user-details h2{font-size:13px;font-weight:600;color:var(--text-dark);margin:0}.role-badge{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.logout-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);border:none;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.5px}.logout-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.panel-nav{display:flex;background:var(--white);border-radius:12px;padding:8px;margin-bottom:30px;box-shadow:0 2px 8px #00000014;border:1px solid #e2e8f0;overflow-x:auto}.nav-tab{display:flex;align-items:center;gap:10px;padding:14px 20px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:8px;font-weight:500;font-size:14px;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.nav-tab:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);z-index:-1}.nav-tab:hover{color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb26}.nav-tab:hover:before{opacity:.05}.nav-tab.active{color:var(--white);background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);box-shadow:0 4px 16px #2563eb4d;transform:translateY(-1px)}.nav-tab.active:before{opacity:0}.tab-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.nav-tab:hover .tab-icon{transform:scale(1.1)}.tab-name{font-weight:600;letter-spacing:.8px}.panel-content{background:var(--white);padding:40px;margin:0;border-radius:0;box-shadow:none;min-height:calc(100vh - 140px)}.tab-content{background:transparent;padding:0;border-radius:0;box-shadow:none;border:none}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:0;border-bottom:none}.tab-header h3{font-size:24px;font-weight:700;color:var(--text-dark);margin:0;display:flex;align-items:center;gap:12px;text-transform:none;letter-spacing:normal}.header-actions{display:flex;align-items:center;gap:12px}.header-actions .btn-primary,.header-actions .btn-secondary{vertical-align:middle;line-height:1;margin:0!important;padding:14px 28px!important;box-sizing:border-box!important}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);border:none;padding:12px 28px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:14px;text-transform:uppercase;letter-spacing:.5px;min-width:160px;display:inline-flex;align-items:center;justify-content:center;height:48px}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-secondary{background:linear-gradient(135deg,var(--text-light) 0%,var(--text-muted) 100%);color:var(--white);border:none;padding:12px 28px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:14px;text-transform:uppercase;letter-spacing:.5px;min-width:160px;display:inline-flex;align-items:center;justify-content:center;height:48px}.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6b72804d}.btn-danger{background:linear-gradient(135deg,var(--error-color) 0%,#dc2626 100%);color:var(--white);border:none;padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-success{background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%);color:var(--white);border:none;padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-small{padding:6px 12px;font-size:11px;border-radius:6px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin:0 4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.btn-small:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-small.btn-danger{background:linear-gradient(135deg,var(--error-color) 0%,#dc2626 100%)}.btn-small.btn-danger:hover{box-shadow:0 4px 12px #ef44444d}.clases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.clase-card{background:var(--white);border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.clase-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow-medium)}.clase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.clase-header h4{margin:0;color:var(--text-dark);font-weight:600;font-size:16px}.clase-horario{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.clase-info{margin-bottom:20px}.clase-info p{margin:8px 0;color:var(--text-light);font-size:14px}.clase-actions{display:flex;gap:8px;flex-wrap:wrap}.miembros-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.miembro-card{background:var(--white);border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;text-align:center}.miembro-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow-medium)}.miembro-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;color:var(--white)}.miembro-info h4{margin:0 0 8px;color:var(--text-dark);font-weight:600;font-size:16px}.miembro-info p{margin:4px 0;color:var(--text-light);font-size:14px}.plan-badge{background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%);color:var(--white);padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;margin-top:8px;display:inline-block;text-transform:uppercase;letter-spacing:.5px}.miembro-actions{display:flex;gap:8px;margin-top:16px}.rutinas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.rutina-card{background:var(--white);border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1)}.rutina-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow-medium)}.rutina-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.rutina-header h4{margin:0;color:var(--text-dark);font-weight:600;font-size:16px}.nivel-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);text-transform:uppercase;letter-spacing:.5px}.rutina-info p{margin:8px 0;color:var(--text-light);font-size:14px}.rutina-actions{display:flex;gap:8px;margin-top:16px}.entrenamientos-table,.citas-table{width:100%;overflow-x:auto}.entrenamientos-table table,.citas-table table{width:100%;border-collapse:collapse;background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;border:1px solid #e2e8f0}.entrenamientos-table th,.citas-table th,.entrenamientos-table td,.citas-table td{padding:16px;text-align:left;border-bottom:1px solid #e2e8f0}.entrenamientos-table th,.citas-table th{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.estado{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.estado.programado{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white)}.estado.completado{background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%);color:var(--white)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(37,99,235,.3);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.progreso-placeholder,.asistencia-placeholder{text-align:center;padding:60px;color:var(--text-light);font-size:16px}@media(max-width:768px){.panel-header{flex-direction:column;gap:16px;padding:16px}.user-section{width:100%;justify-content:space-between}.panel-nav{padding:8px;gap:4px}.nav-tab{padding:12px 16px;font-size:12px}.tab-name{display:none}.panel-content{padding:20px}.tab-header{flex-direction:column;gap:16px;align-items:stretch}.clases-grid,.miembros-grid,.rutinas-grid{grid-template-columns:1fr}.entrenamientos-table,.citas-table{font-size:12px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:20px}.modal-content{background:var(--white);border-radius:20px;box-shadow:0 25px 80px #00000059;max-width:700px;width:95%;max-height:92vh;overflow-y:auto;border:1px solid #e2e8f0;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:28px 32px;border-bottom:2px solid #e2e8f0;background:linear-gradient(to bottom,#fff,#f8fafc);border-radius:20px 20px 0 0}.modal-header h3{margin:0;font-size:22px;font-weight:700;color:var(--text-dark);display:flex;align-items:center;gap:10px}.modal-header-actions{display:flex;align-items:center;gap:12px}.btn-nuevo-ejercicio{padding:8px 16px;background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.2);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-nuevo-ejercicio:hover{background:#10b981;color:#fff;border-color:#10b981;transform:translateY(-1px)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-muted);padding:8px;border-radius:8px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.modal-close:hover{background:#ef444426;color:var(--error-color);transform:rotate(90deg)}.modal-body{padding:24px 50px;max-height:calc(92vh - 180px);overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:16px;padding:24px 32px;border-top:2px solid #e2e8f0;background:#f8fafc;border-radius:0 0 20px 20px}.modal-footer .btn-primary,.modal-footer .btn-secondary{padding:12px 20px!important;border-radius:8px!important;font-weight:600!important;font-size:14px!important;width:180px!important;height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}.analisis-modal{max-width:900px}.composicion-section{margin-top:32px;background:var(--white);border-radius:20px;padding:32px;box-shadow:0 18px 45px #0f172a14;display:flex;flex-direction:column;gap:28px}.composicion-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.composicion-actions{display:flex;gap:12px;align-items:center}.actualizar-progreso-modal{max-width:500px;width:90%}.progreso-update-info{display:flex;flex-direction:column;gap:20px}.miembro-info h4{margin:0 0 8px;color:var(--text-dark);font-size:18px}.miembro-info p{margin:0;color:var(--text-light);font-size:14px}.progreso-actual,.progreso-nuevo,.progreso-preview{display:flex;flex-direction:column;gap:8px}.progreso-actual label,.progreso-nuevo label,.progreso-preview label{font-weight:600;color:var(--text-dark);font-size:14px}.progreso-display{display:flex;align-items:center;gap:12px}.progreso-bar-small{flex:1;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.progreso-fill-small{height:100%;background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%);transition:width .3s ease;border-radius:6px}.progreso-fill-small.preview{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%)}.progreso-percentage{font-weight:600;color:var(--text-dark);font-size:14px;min-width:40px;text-align:right}.input-group{display:flex;align-items:center;position:relative}.progreso-input{flex:1;padding:12px 40px 12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:border-color .2s ease}.progreso-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a}.input-suffix{position:absolute;right:16px;color:var(--text-light);font-weight:600;pointer-events:none}.progreso-preview{padding:16px;background:var(--background-light);border-radius:8px;border:1px solid #e5e7eb}.progreso-preview label{color:var(--text-light);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.perfil-rutinas-asignadas{margin:16px 0;padding:12px;background:var(--background-light);border-radius:8px;border:1px solid #e5e7eb}.rutinas-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.rutinas-icon{font-size:16px}.rutinas-title{font-weight:600;color:var(--text-dark);font-size:14px}.rutinas-list{display:flex;flex-direction:column;gap:6px}.rutina-chip{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--white);border:1px solid #d1d5db;border-radius:6px;transition:all .2s ease}.rutina-chip:hover{border-color:var(--primary-color);box-shadow:0 2px 4px #ff00001a}.rutina-nombre{font-weight:500;color:var(--text-dark);font-size:13px;flex:1}.rutina-nivel{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500;text-transform:capitalize}.rutina-nivel{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white)}.rutinas-mas{text-align:center;padding:4px;color:var(--text-light);font-size:12px;font-style:italic}.sin-rutinas{text-align:center;padding:8px}.sin-rutinas-text{color:var(--text-muted);font-size:12px;font-style:italic}.inscribir-participante-modal{max-width:600px;width:90%}.participantes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.participantes-actions{display:flex;align-items:center;gap:8px}.participantes-header h5{margin:0;color:var(--text-dark);font-size:16px}.no-inscritos-hint{color:var(--text-light);font-size:14px;margin-top:8px;font-style:italic}.inscripcion-info{background:var(--background-light);padding:16px;border-radius:8px;margin-bottom:20px;border:1px solid #e5e7eb}.inscripcion-info h4{margin:0 0 8px;color:var(--text-dark);font-size:18px}.inscripcion-info p{margin:4px 0;color:var(--text-light);font-size:14px}.tipo-inscripcion{margin-bottom:24px}.tipo-inscripcion label{display:block;font-weight:600;color:var(--text-dark);margin-bottom:12px;font-size:14px}.tipo-opciones{display:flex;gap:16px;flex-wrap:wrap}.tipo-opcion{display:flex;align-items:center;gap:8px;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:var(--white);flex:1;min-width:200px}.tipo-opcion:hover{border-color:var(--primary-color);background:#ff00000d}.tipo-opcion input[type=radio]{margin:0}.tipo-opcion input[type=radio]:checked+span{color:var(--primary-color);font-weight:600}.tipo-opcion span{font-size:14px;color:var(--text-dark)}.inscripcion-miembro,.inscripcion-externo{background:var(--background-light);padding:20px;border-radius:8px;border:1px solid #e5e7eb}.miembro-select{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:6px;font-size:14px;background:var(--white);color:var(--text-dark)}.miembro-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;color:var(--text-dark);font-size:13px}.form-group input{padding:10px 12px;border:2px solid #e5e7eb;border-radius:6px;font-size:14px;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a}.form-group input:required{border-left:3px solid var(--primary-color)}.campos-requeridos{margin-top:16px;text-align:center}.campos-requeridos small{color:var(--text-light);font-style:italic}.participante-badge-externo{display:inline-block;margin-left:8px;padding:2px 6px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:10px;border-radius:4px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.participante-badge-local{display:inline-block;margin-left:8px;padding:2px 6px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:10px;border-radius:4px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.participante-rut,.participante-edad{font-size:12px;color:var(--text-light);font-weight:400}.participante-nombre{display:flex;align-items:center;gap:4px}.participante-email{display:flex;flex-wrap:wrap;align-items:center;gap:4px}@media(max-width:480px){.actualizar-progreso-modal{max-width:95%;margin:10px}.progreso-display{flex-direction:column;align-items:stretch;gap:8px}.progreso-percentage{text-align:center;min-width:auto}.rutina-chip{flex-direction:column;align-items:flex-start;gap:4px}.rutina-nivel{align-self:flex-end}.inscribir-participante-modal{max-width:95%;margin:10px}.tipo-opciones{flex-direction:column}.tipo-opcion{min-width:auto}.form-grid{grid-template-columns:1fr}.participantes-header{flex-direction:column;align-items:stretch;gap:12px}}.composicion-header h4{margin:0;font-size:24px;font-weight:700;color:var(--text-dark)}.composicion-header .subtitle{margin:8px 0 0;font-size:14px;color:var(--text-muted)}.selector-panel{display:flex;flex-wrap:wrap;gap:24px;padding:18px 24px;background:#f1f5f9;border-radius:16px;border:1px solid #e2e8f0}.selector-field{display:flex;flex-direction:column;gap:6px;min-width:220px}.selector-field label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-weight:600}.selector-field select{padding:10px 12px;border-radius:10px;border:1px solid #d1d5db;background:var(--white);font-size:14px}.selector-value{font-size:16px;font-weight:600;color:var(--text-dark)}.analisis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.metricas-panel,.control-panel{background:#f8fafc;border-radius:18px;padding:24px;border:1px solid #e2e8f0;box-shadow:0 10px 30px #0f172a0a}.metricas-panel h5,.control-panel h5{margin:0 0 18px;font-size:18px;font-weight:700;color:var(--text-dark)}.metricas-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.metrica-card.compact{padding:16px;background:var(--white);border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 6px 18px #0f172a0d;display:flex;flex-direction:column;gap:8px}.metrica-card.compact .metrica-label{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.metrica-card.compact .metrica-valor{font-size:24px;font-weight:700;color:var(--text-dark)}.metrica-valor-stack span{display:block;font-size:22px;font-weight:700;color:var(--text-dark)}.metrica-valor-stack small{font-size:12px;color:var(--primary-color);font-weight:600}.control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.control-card{background:var(--white);border-radius:16px;border:1px solid #e2e8f0;padding:18px;display:flex;flex-direction:column;gap:8px}.control-card h6{margin:0;font-size:13px;text-transform:uppercase;color:var(--text-muted);font-weight:700}.control-valor{margin:0;font-size:22px;font-weight:700;color:var(--text-dark)}.control-detalle{font-size:13px;color:var(--text-muted)}.reporte-comparativo{background:#f8fafc;border-radius:18px;padding:24px;border:1px solid #e2e8f0;box-shadow:0 10px 30px #0f172a0a}.reporte-comparativo h5{margin:0 0 20px;font-size:18px;font-weight:700;color:var(--text-dark)}.comparativo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.barra-comparativa{position:relative;padding:18px 18px 32px;background:var(--white);border-radius:16px;border:1px solid #e2e8f0;overflow:hidden}.barra-label{display:block;font-size:13px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.barra-tramos{display:grid;grid-template-columns:repeat(3,1fr);border-radius:12px;overflow:hidden;border:1px solid #e2e8f0}.barra-tramos .tramo{text-align:center;font-size:12px;font-weight:600;padding:12px 0;color:var(--text-dark)}.barra-tramos .bajo{background:#10b9811f}.barra-tramos .estandar{background:#2563eb1f}.barra-tramos .alto{background:#ef44441f}.barra-comparativa .indicador{position:absolute;bottom:10px;width:12px;height:12px;background:var(--primary-color);border-radius:50%;box-shadow:0 0 0 6px #2563eb2e;transform:translate(-50%)}.segmentos-wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.segmentos-lienzo,.segmentos-panel{background:#f8fafc;border-radius:18px;padding:24px;border:1px solid #e2e8f0;box-shadow:0 10px 30px #0f172a0a}.segmentos-lienzo h5,.segmentos-panel h5{margin:0 0 18px;font-size:18px;font-weight:700;color:var(--text-dark)}.silueta-container{display:flex;gap:24px;align-items:center}.silueta-gallery{display:flex;flex-direction:column;gap:16px}.silueta-wrapper.principal{width:240px}.silueta-wrapper.secundario{width:200px;background:var(--white);position:relative;display:flex;justify-content:center;align-items:center;padding:12px}.silueta-img.secundario{border-radius:12px;box-shadow:0 8px 24px #0f172a1f}.silueta-caption{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#0f172acc;color:var(--white);padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.5px}.silueta-wrapper{position:relative;width:220px;max-width:100%;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px #0f172a1f}.silueta-img{width:100%;height:auto;display:block;filter:saturate(1.05) contrast(1.05)}.silueta-hotspot{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 10px;background:#0f172abf;border-radius:12px;color:var(--white);font-size:11px;font-weight:600;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 8px 20px #0f172a40}.hotspot-label{text-transform:uppercase;letter-spacing:.5px}.hotspot-value{font-size:14px;font-weight:700}.silueta-hotspot:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:10px;height:10px;background:#0f172abf;clip-path:polygon(50% 100%,0 0,100% 0)}.segmento-brazo-derecho{top:28%;left:83%}.segmento-brazo-izquierdo{top:28%;left:17%}.segmento-pierna-derecho{top:78%;left:68%}.segmento-pierna-izquierdo{top:78%;left:32%}.segmento-tronco-centro,.segmento-torso-centro,.segmento-abdomen-centro{top:48%;left:50%}.segmento-tronco-derecho,.segmento-torso-derecho,.segmento-abdomen-derecho{top:48%;left:65%}.segmento-tronco-izquierdo,.segmento-torso-izquierdo,.segmento-abdomen-izquierdo{top:48%;left:35%}.silueta-info{display:flex;flex-direction:column;gap:12px}.silueta-item{background:var(--white);border-radius:14px;border:1px solid #e2e8f0;padding:12px 16px;box-shadow:0 6px 18px #0f172a0d;display:flex;justify-content:space-between;align-items:center;min-width:200px}.silueta-tag{font-size:13px;font-weight:600;color:var(--text-muted)}.silueta-value{font-size:18px;font-weight:700;color:var(--text-dark)}.segmentos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}.segmento-card{background:var(--white);border-radius:16px;border:1px solid #e2e8f0;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 6px 16px #0f172a0d}.segmento-header{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;color:var(--text-dark)}.segmento-badge{padding:4px 10px;border-radius:999px;background:#2563eb26;color:var(--primary-color);font-size:11px;font-weight:700}.segmento-values{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.segmento-values small{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.segmento-values strong{display:block;font-size:18px;font-weight:700;color:var(--text-dark)}.segmento-values span{font-size:13px;color:var(--text-muted)}.impedancia-panel{background:#f8fafc;border-radius:18px;padding:24px;border:1px solid #e2e8f0;box-shadow:0 10px 30px #0f172a0a}.impedancia-panel h5{margin:0 0 18px;font-size:18px;font-weight:700;color:var(--text-dark)}.impedancia-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:16px;overflow:hidden}.impedancia-table th,.impedancia-table td{padding:14px 18px;text-align:left;font-size:14px}.impedancia-table thead tr{background:#edf2fd;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.impedancia-table tbody tr:nth-child(2n){background:#2563eb0a}.historial-analisis{background:var(--white);border-radius:20px;padding:24px;border:1px solid #e2e8f0;box-shadow:0 12px 35px #0f172a0f}.historial-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}.historial-header h5{margin:0;font-size:18px;font-weight:700;color:var(--text-dark)}.historial-detalle{font-size:13px;color:var(--text-muted)}.historial-table table{width:100%;border-collapse:collapse}.historial-table th,.historial-table td{padding:12px 16px;text-align:left;font-size:14px;border-bottom:1px solid #e2e8f0}.historial-table thead{background:#f1f5f9;text-transform:uppercase;letter-spacing:.5px;font-size:12px;color:var(--text-muted)}.historial-table tbody tr:hover{background:#2563eb0f}.analisis-form{display:flex;flex-direction:column;gap:24px}.analisis-form .form-section>h4{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--text-dark)}.analisis-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.analisis-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-muted);font-weight:500}.analisis-form input,.analisis-form select,.analisis-form textarea{padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;background:#f9fafb;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.analisis-form input:focus,.analisis-form select:focus,.analisis-form textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb26;outline:none;background:#fff}.analisis-form textarea{resize:vertical;min-height:100px}.segmentos-form,.impedancia-form{display:flex;flex-direction:column;gap:12px}.segmento-form-row,.impedancia-form-row{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;padding:12px;border:1px dashed #d1d5db;border-radius:10px;background:#2563eb0a}.segmento-form-row select,.impedancia-form-row select{min-width:120px}.segmento-form-row .btn-danger,.impedancia-form-row .btn-danger{justify-self:end}.impedancia-form-row{grid-template-columns:repeat(5,minmax(120px,1fr))}.form-message{padding:12px 16px;border-radius:8px;font-weight:600;font-size:14px}.form-message.success{background:#10b9811a;color:#047857}.form-message.error{background:#ef44441a;color:#b91c1c}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e2e8f0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-row-full{width:100%;margin-bottom:12px;padding:0 20px}.form-row-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;padding:0 20px}.form-group-compact{display:flex;flex-direction:column;gap:4px}.form-group-compact label{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.6px;margin-bottom:2px}.form-group-compact input,.form-group-compact select,.form-group-compact textarea{padding:8px 12px;border:1.5px solid #e2e8f0;border-radius:6px;font-size:13px;transition:all .3s ease;background:var(--white);color:var(--text-dark);font-family:inherit;height:36px}.form-group-compact textarea{height:auto;min-height:50px;line-height:1.4}.form-group-compact input:focus,.form-group-compact select:focus,.form-group-compact textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #ff00000f;background:#fff}.form-group-compact select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;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='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:35px}.form-group{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.form-group label{font-size:14px;font-weight:600;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.form-group input,.form-group select,.form-group textarea{padding:14px 18px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;transition:all .3s ease;background:var(--white);color:var(--text-dark);font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #ff00001a;background:#fff}.form-group textarea{resize:vertical;min-height:100px;line-height:1.6}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:45px}.asistencia-info{background:#2563eb0d;padding:20px;border-radius:12px;margin:0 20px 24px;border:1px solid rgba(37,99,235,.1)}.asistencia-info h4{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--text-dark)}.asistencia-info p{margin:4px 0;color:var(--text-light);font-size:14px}.asistencia-lista{margin:24px 20px 0}.asistencia-lista h5{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.participante-item{background:var(--white);border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;transition:all .3s ease;overflow:hidden}.participante-item:hover{background:#2563eb05;border-color:#2563eb33}.participante-main{display:flex;justify-content:space-between;align-items:center;padding:16px}.participante-info{flex:1}.participante-nombre{font-weight:600;color:var(--text-dark);font-size:16px;margin-bottom:4px;display:flex;align-items:center;gap:8px}.participante-email{color:var(--text-light);font-size:14px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.participante-asistencia{display:flex;align-items:center;margin-left:16px;min-width:100px;flex-shrink:0}.participante-notas{padding:0 16px 16px;border-top:1px solid #f3f4f6}.participante-item span{font-size:14px;font-weight:500;color:var(--text-dark)}.checkbox-container{display:flex;align-items:center;position:relative;cursor:pointer;font-size:14px;-webkit-user-select:none;user-select:none;gap:8px}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:relative;height:20px;width:20px;background-color:var(--white);border:2px solid #e2e8f0;border-radius:4px;transition:all .3s ease;flex-shrink:0}.checkbox-container:hover input~.checkmark{border-color:var(--primary-color)}.checkbox-container input:checked~.checkmark{background-color:var(--primary-color);border-color:var(--primary-color)}.checkmark:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{left:6px;top:2px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);position:absolute}.checkbox-label{font-size:14px;font-weight:500;color:var(--text-dark);white-space:nowrap}@media(max-width:768px){.modal-content{width:95%;margin:20px}.form-grid{grid-template-columns:1fr}.participante-main{flex-direction:column;align-items:stretch;gap:12px}.participante-asistencia{margin-left:0;justify-content:center}.participante-notas{padding:12px 16px 16px}.modal-header,.modal-body,.modal-footer{padding:16px}}.entrenamiento-actions{display:flex;gap:8px;flex-wrap:wrap}.entrenamiento-actions button{font-size:12px;padding:6px 12px;display:inline-flex;align-items:center;justify-content:center}.progreso-container{display:flex;align-items:center;gap:8px}.progreso-bar{width:60px;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progreso-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),#10b981);border-radius:4px;transition:width .3s ease}.progreso-text{font-size:12px;font-weight:600;color:var(--text-dark);min-width:35px}.entrenamiento-modal{max-width:800px}.full-width{grid-column:1 / -1}.ejercicios-section{margin:24px 20px 0;border:1px solid #e2e8f0;border-radius:12px;padding:20px;background:#2563eb05}.ejercicios-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ejercicios-header h4{margin:0;font-size:16px;font-weight:600;color:var(--text-dark)}.ejercicios-disponibles select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;background:var(--white);font-size:14px;min-width:200px}.ejercicios-lista{display:flex;flex-direction:column;gap:12px}.ejercicio-item{background:var(--white);border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .3s ease}.ejercicio-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #2563eb1a}.ejercicio-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ejercicio-info strong{font-size:14px;color:var(--text-dark)}.ejercicio-categoria{font-size:12px;color:var(--text-muted);background:#2563eb1a;padding:2px 8px;border-radius:12px}.ejercicio-params{display:flex;gap:12px;align-items:end}.param-group{display:flex;flex-direction:column;gap:4px;flex:1}.param-group label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.param-group input{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;text-align:center}.btn-remove-ejercicio{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:8px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s ease;flex-shrink:0}.btn-remove-ejercicio:hover{background:#ef444433;border-color:#ef4444}.ejercicios-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-style:italic}.progreso-modal{max-width:700px}.progreso-info{background:linear-gradient(135deg,#2563eb0d,#10b9810d);border-radius:12px;padding:24px;margin-bottom:24px;border:1px solid rgba(37,99,235,.1)}.progreso-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.progreso-header h4{margin:0;font-size:20px;font-weight:600;color:var(--text-dark)}.progreso-badge{padding:6px 12px;border-radius:20px;background:var(--white);border:1px solid #e2e8f0}.progreso-detalles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.detalle-item{font-size:14px;color:var(--text-light)}.detalle-item strong{color:var(--text-dark);display:block;margin-bottom:4px}.progreso-visual{display:flex;align-items:center;gap:24px}.progreso-circle{width:80px;height:80px;border-radius:50%;background:conic-gradient(var(--primary-color) 0deg,var(--primary-color) calc(var(--progreso, 25) * 3.6deg),#e2e8f0 calc(var(--progreso, 25) * 3.6deg));display:flex;align-items:center;justify-content:center;position:relative}.progreso-circle:before{content:"";width:60px;height:60px;border-radius:50%;background:var(--white);position:absolute}.progreso-number{font-size:16px;font-weight:700;color:var(--text-dark);z-index:1}.progreso-bar-large{flex:1;height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden}.progreso-fill-large{height:100%;background:linear-gradient(90deg,var(--primary-color),#10b981);border-radius:6px;transition:width .5s ease}.ejercicios-progreso{margin-top:24px}.ejercicios-progreso h5{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-dark)}.ejercicios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.ejercicio-progreso-card{background:var(--white);border:1px solid #e2e8f0;border-radius:8px;padding:16px;text-align:center;transition:all .3s ease}.ejercicio-progreso-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb1a}.ejercicio-nombre{font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:8px}.ejercicio-specs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.ejercicio-specs span{font-size:12px;color:var(--text-muted);background:#2563eb1a;padding:2px 6px;border-radius:8px}.notas-progreso{margin-top:24px;padding:20px;background:#10b9810d;border-radius:12px;border:1px solid rgba(16,185,129,.1)}.notas-progreso h5{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text-dark)}.notas-progreso p{margin:0;font-size:14px;color:var(--text-light);line-height:1.5}.estado.activo{background:#10b9811a;color:#059669}.estado.pausado{background:#f59e0b1a;color:#d97706}.estado.completado{background:#2563eb1a;color:var(--primary-color)}.estado.cancelado{background:#ef44441a;color:#dc2626}@media(max-width:768px){.entrenamiento-actions{flex-direction:column}.entrenamiento-actions button{width:100%}.ejercicio-params{flex-direction:column;gap:8px}.progreso-visual{flex-direction:column;gap:16px}.ejercicios-grid{grid-template-columns:1fr}}.miembro-card{background:var(--white);border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.miembro-card:hover{border-color:var(--primary-color);box-shadow:0 8px 25px #2563eb1a;transform:translateY(-2px)}.miembro-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.miembro-header h4{margin:0;font-size:18px;font-weight:600;color:var(--text-dark)}.estado-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.estado-badge.activo{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}.estado-badge.pausado{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.3)}.estado-badge.inactivo{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.3)}.miembro-info p{margin:8px 0;font-size:14px;color:var(--text-light);display:flex;align-items:center;gap:8px}.miembro-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.plan-badge{padding:4px 8px;border-radius:8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.plan-badge.básico{background:#6b72801a;color:#6b7280}.plan-badge.premium{background:#2563eb1a;color:var(--primary-color)}.plan-badge.vip{background:#9333ea1a;color:#9333ea}.miembro-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.miembro-actions button{flex:1;font-size:13px;padding:8px 12px}.perfil-modal{max-width:800px;max-height:90vh;overflow-y:auto}.perfil-header{display:flex;gap:20px;align-items:center;margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#2563eb0d,#10b9810d);border-radius:12px;border:1px solid rgba(37,99,235,.1)}.perfil-avatar{flex-shrink:0}.avatar-circle{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#10b981);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;text-transform:uppercase}.perfil-datos h4{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--text-dark)}.perfil-email,.perfil-telefono{margin:4px 0;font-size:14px;color:var(--text-light)}.detalle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.detalle-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#2563eb05;border-radius:8px;border:1px solid rgba(37,99,235,.1)}.detalle-item strong{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.objetivo-section{margin-top:20px;padding:16px;background:#10b9810d;border-radius:12px;border:1px solid rgba(16,185,129,.1)}.objetivo-section h5{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-dark)}.objetivo-section p{margin:0;font-size:14px;color:var(--text-light);line-height:1.5}.historial-section{margin-top:24px;padding:20px;background:#2563eb05;border-radius:12px;border:1px solid rgba(37,99,235,.1)}.historial-section h5{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-dark)}.historial-lista{display:flex;flex-direction:column;gap:8px}.historial-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;transition:all .3s ease}.historial-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #2563eb1a}.historial-fecha{font-size:12px;font-weight:600;color:var(--text-muted);min-width:80px}.historial-info{display:flex;flex-direction:column;gap:2px;flex:1;margin-left:16px}.historial-tipo{font-size:14px;font-weight:600;color:var(--text-dark)}.historial-duracion{font-size:12px;color:var(--text-muted)}.historial-estado{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.historial-estado.completado{background:#10b9811a;color:#059669;border:2px solid rgba(16,185,129,.3)}.historial-estado.incompleto{background:#ef44441a;color:#dc2626;border:2px solid rgba(239,68,68,.3)}.notas-section{margin-top:24px;padding:20px;background:#10b98105;border-radius:12px;border:1px solid rgba(16,185,129,.1)}.notas-section h5{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-dark)}.notas-lista{display:flex;flex-direction:column;gap:12px}.nota-item{padding:16px;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;border-left:4px solid var(--primary-color)}.nota-fecha{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px}.nota-contenido{font-size:14px;color:var(--text-light);line-height:1.5}.notas-modal{max-width:500px}.notas-form textarea{width:100%;padding:16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:120px;transition:all .3s ease}.notas-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}@media(max-width:768px){.miembro-actions{flex-direction:column}.miembro-stats{grid-template-columns:1fr}.perfil-header{flex-direction:column;text-align:center;gap:16px}.detalle-grid{grid-template-columns:1fr}.historial-item{flex-direction:column;align-items:flex-start;gap:8px}.historial-info{margin-left:0}}.seguimiento-content{padding:0}.seguimiento-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#2563eb0d,#10b9810d);border-radius:16px;border:1px solid rgba(37,99,235,.1)}.seguimiento-header h3{margin:0;font-size:24px;font-weight:700;color:var(--text-dark)}.periodo-selector select{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background:var(--white);font-size:14px;font-weight:500;color:var(--text-dark);cursor:pointer}.metricas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.metrica-card{background:var(--white);border:1px solid #e2e8f0;border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.metrica-card:hover{border-color:var(--primary-color);box-shadow:0 8px 25px #2563eb1a;transform:translateY(-2px)}.metrica-icon{font-size:32px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#2563eb1a;border-radius:12px;flex-shrink:0}.metrica-info h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.metrica-valor{font-size:28px;font-weight:700;color:var(--text-dark);margin-bottom:4px}.metrica-cambio{font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px}.metrica-cambio.positivo{background:#10b9811a;color:#059669}.metrica-cambio.negativo{background:#ef44441a;color:#dc2626}.metrica-cambio.neutral{background:#6b72801a;color:#6b7280}.graficos-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:32px}.grafico-card{background:var(--white);border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 2px 4px #0000000d}.grafico-card h4{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-dark)}.grafico-placeholder{height:200px;display:flex;align-items:end;justify-content:center;padding:20px;background:#2563eb05;border-radius:12px;border:1px solid rgba(37,99,235,.1)}.barras-container{display:flex;align-items:end;gap:12px;height:100%}.barra{width:24px;background:linear-gradient(180deg,var(--primary-color),#10b981);border-radius:4px 4px 0 0;position:relative;transition:all .3s ease;cursor:pointer}.barra:hover{opacity:.8;transform:scale(1.05)}.barra:after{content:attr(data-label);position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:12px;font-weight:600;color:var(--text-muted)}.objetivos-chart{display:flex;flex-direction:column;gap:16px}.objetivo-item{display:flex;align-items:center;gap:12px}.objetivo-label{min-width:120px;font-size:14px;font-weight:500;color:var(--text-dark)}.objetivo-barra{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.objetivo-progreso{height:100%;background:linear-gradient(90deg,var(--primary-color),#10b981);border-radius:4px;transition:width .5s ease}.objetivo-porcentaje{min-width:40px;font-size:14px;font-weight:600;color:var(--text-dark);text-align:right}.alertas-section{margin-bottom:32px}.alertas-section h4{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--text-dark)}.alertas-lista{display:flex;flex-direction:column;gap:16px}.alerta-item{display:flex;align-items:center;gap:16px;padding:20px;border-radius:12px;border:1px solid;transition:all .3s ease}.alerta-item.urgente{background:#ef44440d;border-color:#ef444433}.alerta-item.info{background:#2563eb0d;border-color:#2563eb33}.alerta-item.exito{background:#10b9810d;border-color:#10b98133}.alerta-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.alerta-icon{font-size:24px;flex-shrink:0}.alerta-contenido{flex:1}.alerta-contenido h5{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-dark)}.alerta-contenido p{margin:0 0 8px;font-size:14px;color:var(--text-light)}.alerta-tiempo{font-size:12px;color:var(--text-muted);font-weight:500}.btn-alerta{padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;flex-shrink:0}.urgente .btn-alerta{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.info .btn-alerta{background:#2563eb1a;color:var(--primary-color);border:1px solid rgba(37,99,235,.3)}.exito .btn-alerta{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}.btn-alerta:hover{opacity:.8;transform:scale(1.05)}.ranking-section h4{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--text-dark)}.ranking-lista{display:flex;flex-direction:column;gap:12px}.ranking-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;transition:all .3s ease}.ranking-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-1px)}.ranking-posicion{width:32px;height:32px;border-radius:50%;background:#2563eb1a;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--primary-color);flex-shrink:0}.ranking-info{flex:1;display:flex;flex-direction:column;gap:8px}.ranking-nombre{font-size:16px;font-weight:600;color:var(--text-dark)}.ranking-progreso{display:flex;align-items:center;gap:12px}.ranking-progreso .progreso-bar{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.ranking-progreso .progreso-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),#10b981);border-radius:3px;transition:width .5s ease}.ranking-progreso .progreso-texto{font-size:14px;font-weight:600;color:var(--text-dark);min-width:40px}.ranking-badge{font-size:24px;flex-shrink:0}.ranking-badge.oro{filter:drop-shadow(0 2px 4px rgba(255,215,0,.3))}.ranking-badge.plata{filter:drop-shadow(0 2px 4px rgba(192,192,192,.3))}.ranking-badge.bronce{filter:drop-shadow(0 2px 4px rgba(205,127,50,.3))}@media(max-width:768px){.seguimiento-header{flex-direction:column;gap:16px;text-align:center}.metricas-grid,.graficos-section{grid-template-columns:1fr}.alerta-item{flex-direction:column;align-items:flex-start;gap:12px}.btn-alerta{align-self:flex-end}.ranking-item{flex-direction:column;align-items:flex-start;gap:12px}.ranking-progreso{width:100%}}.asistencia-content{padding:0}.asistencia-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#2563eb0d,#10b9810d);border-radius:16px;border:1px solid rgba(37,99,235,.1)}.asistencia-header h3{margin:0;font-size:24px;font-weight:700;color:var(--text-dark)}.fecha-selector{display:flex;align-items:center;gap:16px}.btn-fecha{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background:var(--white);font-size:14px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .3s ease}.btn-fecha:hover{border-color:var(--primary-color);background:#2563eb0d}.fecha-actual{font-size:16px;font-weight:600;color:var(--text-dark);min-width:120px;text-align:center}.asistencia-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--white);border:1px solid #e2e8f0;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.stat-card:hover{border-color:var(--primary-color);box-shadow:0 8px 25px #2563eb1a;transform:translateY(-2px)}.stat-icon{font-size:28px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#2563eb1a;border-radius:12px;flex-shrink:0}.stat-info h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-valor{font-size:24px;font-weight:700;color:var(--primary-color);margin-bottom:4px}.stat-detalle{font-size:12px;color:var(--text-light)}.calendario-section{margin-bottom:32px}.calendario-section h4{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--text-dark)}.calendario-container{background:var(--white);border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 2px 4px #0000000d}.calendario-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px}.dia-header{text-align:center;font-size:14px;font-weight:600;color:var(--text-muted);padding:12px 8px;text-transform:uppercase;letter-spacing:.5px}.calendario-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:20px}.dia-calendario{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #f1f5f9;border-radius:8px;position:relative;cursor:pointer;transition:all .3s ease;background:var(--white)}.dia-calendario:hover{border-color:var(--primary-color);background:#2563eb05}.dia-calendario.vacio{background:#f8fafc;cursor:default}.dia-calendario.hoy{background:#2563eb1a;border-color:var(--primary-color);font-weight:700}.dia-calendario.futuro{color:var(--text-muted);background:#f8fafc}.numero-dia{font-size:14px;font-weight:500;color:var(--text-dark);margin-bottom:4px}.indicador-asistencia{width:8px;height:8px;border-radius:50%;position:absolute;bottom:6px}.indicador-asistencia.alta{background:#10b981}.indicador-asistencia.media{background:#f59e0b}.indicador-asistencia.baja{background:#ef4444}.calendario-leyenda{display:flex;justify-content:center;gap:24px;padding-top:16px;border-top:1px solid #f1f5f9}.leyenda-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-light)}.indicador-leyenda{width:12px;height:12px;border-radius:50%}.indicador-leyenda.alta{background:#10b981}.indicador-leyenda.media{background:#f59e0b}.indicador-leyenda.baja{background:#ef4444}.clases-dia-section{margin-bottom:32px}.clases-dia-section h4{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--text-dark)}.clases-dia-lista{display:flex;flex-direction:column;gap:16px}.clase-dia-item{display:flex;align-items:center;gap:20px;padding:20px;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;transition:all .3s ease}.clase-dia-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-1px)}.clase-info{flex:1}.clase-info h5{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-dark)}.clase-info p{margin:0;font-size:14px;color:var(--text-light)}.asistencia-info{display:flex;align-items:center;gap:16px}.asistencia-circular{position:relative}.circular-progress{width:60px;height:60px;border-radius:50%;background:conic-gradient(var(--primary-color) 0deg,var(--primary-color) calc(var(--progreso) * 3.6deg),#e2e8f0 calc(var(--progreso) * 3.6deg));display:flex;align-items:center;justify-content:center;position:relative}.circular-progress:before{content:"";width:44px;height:44px;border-radius:50%;background:var(--white);position:absolute}.progreso-texto{font-size:12px;font-weight:700;color:var(--text-dark);z-index:1}.porcentaje-asistencia{font-size:18px;font-weight:700;color:#10b981}.btn-ver-asistencia{padding:8px 16px;border:1px solid var(--primary-color);border-radius:8px;background:#2563eb1a;color:var(--primary-color);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-ver-asistencia:hover{background:var(--primary-color);color:#fff}.reporte-miembros-section h4{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--text-dark)}.miembros-asistencia-lista{display:flex;flex-direction:column;gap:16px}.miembro-asistencia-item{display:flex;align-items:center;gap:16px;padding:20px;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;transition:all .3s ease}.miembro-asistencia-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-1px)}.miembro-avatar .avatar-circle{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#10b981);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;text-transform:uppercase}.miembro-asistencia-info{flex:1}.miembro-asistencia-info h5{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-dark)}.miembro-asistencia-info p{margin:0;font-size:14px;color:var(--text-light)}.asistencia-stats-miembro{display:flex;flex-direction:column;gap:8px;align-items:center}.stat-miembro{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-miembro .stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-miembro .stat-valor{font-size:18px;font-weight:700;color:var(--primary-color)}.racha-asistencia{display:flex;flex-direction:column;align-items:center;gap:2px}.racha-numero{font-size:20px;font-weight:700;color:#10b981}.racha-texto{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.estado-miembro{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.estado-miembro.activo{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}.estado-miembro.alerta{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.3)}.estado-miembro.excelente{background:#9333ea1a;color:#9333ea;border:1px solid rgba(147,51,234,.3)}@media(max-width:768px){.asistencia-header{flex-direction:column;gap:16px;text-align:center}.fecha-selector{justify-content:center}.asistencia-stats{grid-template-columns:1fr}.calendario-grid{gap:4px}.dia-calendario{font-size:12px}.calendario-leyenda{flex-direction:column;gap:12px}.clase-dia-item{flex-direction:column;align-items:flex-start;gap:16px}.asistencia-info{align-self:stretch;justify-content:space-between}.miembro-asistencia-item{flex-direction:column;align-items:flex-start;gap:16px}.asistencia-stats-miembro{flex-direction:row;align-self:stretch;justify-content:space-between}}.citas-content{padding:0}.citas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#9333ea0d,#2563eb0d);border-radius:16px;border:1px solid rgba(147,51,234,.1)}.citas-header h3{margin:0;font-size:24px;font-weight:700;color:var(--text-dark)}.citas-actions{display:flex;gap:12px}.btn-nueva-cita{padding:12px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-nueva-cita:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-disponibilidad{padding:12px 20px;background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-disponibilidad:hover{background:#10b981;color:#fff}.citas-calendario-section{margin-bottom:32px}.calendario-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendario-nav h4{margin:0;font-size:20px;font-weight:600;color:var(--text-dark)}.vista-selector{display:flex;gap:8px}.btn-vista{padding:8px 16px;border:1px solid #e2e8f0;border-radius:6px;background:var(--white);font-size:14px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .3s ease}.btn-vista.activo{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-vista:hover:not(.activo){border-color:var(--primary-color);background:#2563eb0d}.calendario-citas-container{background:var(--white);border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 2px 4px #0000000d}.vista-semanal{display:grid;grid-template-columns:80px repeat(7,1fr);gap:1px;background:#f1f5f9;border-radius:8px;overflow:hidden}.hora-label{background:var(--white);padding:12px 8px;font-size:12px;font-weight:500;color:var(--text-muted);text-align:center;border-right:1px solid #f1f5f9}.dia-header-citas{background:#f8fafc;padding:12px 8px;font-size:14px;font-weight:600;color:var(--text-dark);text-align:center;border-bottom:1px solid #f1f5f9}.celda-hora{background:var(--white);min-height:60px;position:relative;cursor:pointer;transition:all .2s ease}.celda-hora:hover{background:#2563eb05}.celda-hora.ocupada{background:#2563eb0d}.cita-item{position:absolute;top:2px;left:2px;right:2px;background:var(--primary-color);color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .3s ease;z-index:2}.cita-item:hover{background:#1d4ed8;transform:scale(1.02)}.cita-item.confirmada{background:#10b981}.cita-item.pendiente{background:#f59e0b}.cita-item.cancelada{background:#ef4444;opacity:.7}.citas-lista-section{margin-bottom:32px}.citas-lista-section h4{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--text-dark)}.citas-filtros{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filtro-estado{padding:8px 16px;border:1px solid #e2e8f0;border-radius:20px;background:var(--white);font-size:14px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .3s ease}.filtro-estado.activo{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.filtro-estado:hover:not(.activo){border-color:var(--primary-color);background:#2563eb0d}.citas-lista{display:flex;flex-direction:column;gap:16px}.cita-card{display:flex;align-items:center;gap:20px;padding:20px;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;transition:all .3s ease}.cita-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-1px)}.cita-fecha-hora{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}.cita-fecha{font-size:14px;font-weight:600;color:var(--primary-color)}.cita-hora{font-size:16px;font-weight:700;color:var(--text-dark)}.cita-info{flex:1}.cita-info h5{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-dark)}.cita-tipo{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.cita-tipo.evaluacion{background:#9333ea1a;color:#9333ea}.cita-tipo.seguimiento{background:#10b9811a;color:#059669}.cita-tipo.rehabilitacion{background:#f59e0b1a;color:#d97706}.cita-estado{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.cita-estado.confirmada{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}.cita-estado.pendiente{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.3)}.cita-estado.cancelada{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.cita-acciones{display:flex;gap:8px}.btn-accion-cita{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;background:var(--white);font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-accion-cita.editar{color:var(--primary-color);border-color:var(--primary-color)}.btn-accion-cita.editar:hover{background:var(--primary-color);color:#fff}.btn-accion-cita.cancelar{color:#dc2626;border-color:#dc2626}.btn-accion-cita.cancelar:hover{background:#dc2626;color:#fff}.modal-nueva-cita .modal-content{max-width:600px;max-height:90vh;overflow-y:auto}.form-nueva-cita{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group-cita{display:flex;flex-direction:column;gap:8px}.form-group-cita label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-group-cita input,.form-group-cita select,.form-group-cita textarea{padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .3s ease}.form-group-cita input:focus,.form-group-cita select:focus,.form-group-cita textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-group-cita textarea{resize:vertical;min-height:80px}.duracion-selector{display:flex;gap:8px}.duracion-opcion{flex:1;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:var(--white);text-align:center;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.duracion-opcion.seleccionada{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.duracion-opcion:hover:not(.seleccionada){border-color:var(--primary-color);background:#2563eb0d}.modal-disponibilidad .modal-content{max-width:800px}.disponibilidad-form{display:flex;flex-direction:column;gap:24px}.dias-semana{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.dia-disponibilidad{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:var(--white)}.dia-disponibilidad.activo{border-color:var(--primary-color);background:#2563eb05}.dia-header-disp{display:flex;align-items:center;gap:8px}.dia-checkbox{width:16px;height:16px}.dia-nombre{font-size:14px;font-weight:600;color:var(--text-dark)}.horarios-dia{display:flex;flex-direction:column;gap:8px}.horario-input{display:flex;align-items:center;gap:8px}.horario-input input{flex:1;padding:8px;border:1px solid #e2e8f0;border-radius:4px;font-size:12px}.btn-agregar-horario{padding:4px 8px;background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3);border-radius:4px;font-size:12px;cursor:pointer;transition:all .3s ease}.btn-agregar-horario:hover{background:#10b981;color:#fff}@media(max-width:768px){.citas-header{flex-direction:column;gap:16px;text-align:center}.citas-actions{justify-content:center}.calendario-nav{flex-direction:column;gap:16px;align-items:stretch}.vista-selector{justify-content:center}.vista-semanal{grid-template-columns:60px repeat(7,1fr);font-size:12px}.form-row{grid-template-columns:1fr}.duracion-selector{flex-direction:column}.dias-semana{grid-template-columns:1fr}.cita-card{flex-direction:column;align-items:flex-start;gap:16px}.cita-fecha-hora{align-self:stretch;flex-direction:row;justify-content:space-between}.cita-acciones{align-self:stretch;justify-content:space-between}}.rutinas-content{padding:0}.rutinas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#10b9810d,#2563eb0d);border-radius:16px;border:1px solid rgba(16,185,129,.1)}.rutinas-header h3{margin:0;font-size:24px;font-weight:700;color:var(--text-dark)}.rutinas-actions{display:flex;gap:12px}.btn-nueva-rutina{padding:12px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-nueva-rutina:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-biblioteca{padding:12px 20px;background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-biblioteca:hover{background:#10b981;color:#fff}.rutinas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-bottom:32px}.rutina-card{background:var(--white);border:1px solid #e2e8f0;border-radius:16px;padding:24px;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.rutina-card:hover{border-color:var(--primary-color);box-shadow:0 8px 25px #2563eb1a;transform:translateY(-2px)}.rutina-header-card{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.rutina-info h4{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--text-dark)}.rutina-info p{margin:0;font-size:14px;color:var(--text-light);line-height:1.5}.rutina-stats{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.rutina-stat{font-size:12px;color:var(--text-muted)}.rutina-stat strong{color:var(--primary-color);font-weight:600}.rutina-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.rutina-tag{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.rutina-tag.fuerza{background:#ef44441a;color:#dc2626}.rutina-tag.cardio{background:#f59e0b1a;color:#d97706}.rutina-tag.flexibilidad{background:#9333ea1a;color:#9333ea}.rutina-tag.resistencia{background:#10b9811a;color:#059669}.rutina-ejercicios{margin-bottom:20px}.rutina-ejercicios h5{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-dark)}.ejercicios-preview{display:flex;flex-direction:column;gap:8px}.ejercicio-preview{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8fafc;border-radius:6px;font-size:13px}.ejercicio-nombre{font-weight:500;color:var(--text-dark)}.ejercicio-detalles{color:var(--text-muted);font-size:12px}.rutina-acciones{display:flex;gap:8px}.btn-accion-rutina{flex:1;padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;background:var(--white);font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center}.btn-accion-rutina.asignar{color:var(--primary-color);border-color:var(--primary-color)}.btn-accion-rutina.asignar:hover{background:var(--primary-color);color:#fff}.btn-accion-rutina.editar{color:#059669;border-color:#059669}.btn-accion-rutina.editar:hover{background:#059669;color:#fff}.btn-accion-rutina.eliminar{color:#dc2626;border-color:#dc2626}.btn-accion-rutina.eliminar:hover{background:#dc2626;color:#fff}.btn-accion-rutina.descargar{color:#0891b2;border-color:#0891b2}.btn-accion-rutina.descargar:hover{background:#0891b2;color:#fff}.modal-nueva-rutina .modal-content{max-width:1000px;width:95%;max-height:92vh;overflow-y:auto}.form-nueva-rutina{display:flex;flex-direction:column;gap:24px}.rutina-form-section{padding:20px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.rutina-form-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-dark)}.form-group-rutina{display:flex;flex-direction:column;gap:8px}.form-group-rutina label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-group-rutina input,.form-group-rutina select,.form-group-rutina textarea{padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .3s ease}.form-group-rutina input:focus,.form-group-rutina select:focus,.form-group-rutina textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-group-rutina textarea{resize:vertical;min-height:80px}.categorias-selector{display:flex;flex-wrap:wrap;gap:8px}.categoria-opcion{padding:8px 16px;border:1px solid #e2e8f0;border-radius:20px;background:var(--white);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.categoria-opcion.seleccionada{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.categoria-opcion:hover:not(.seleccionada){border-color:var(--primary-color);background:#2563eb0d}.ejercicios-rutina{display:flex;flex-direction:column;gap:16px}.calculadora-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;align-items:end}.calculadora-actions{display:flex;gap:10px;align-items:center}.btn-calcular,.btn-reset{padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .2s ease}.btn-calcular{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:var(--white)}.btn-calcular:hover{filter:brightness(1.05)}.btn-reset{background:#0f172a0d;color:var(--text-dark);border-color:#0f172a1a}.btn-reset:hover{background:#0f172a1a}.section-note{font-size:13px;color:var(--text-muted);font-weight:500}.calculadora-resultado{margin-top:14px;padding:12px 16px;border-radius:12px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px}.calculadora-resultado.success{background:#10b9811f;color:#047857;border:1px solid rgba(16,185,129,.3)}.calculadora-resultado.error{background:#ef44441f;color:#b91c1c;border:1px solid rgba(239,68,68,.3)}.ejercicio-rutina-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--white);border:1px solid #e2e8f0;border-radius:8px}.ejercicio-rutina-info{flex:1}.ejercicio-rutina-info h5{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-dark)}.ejercicio-rutina-info p{margin:0;font-size:12px;color:var(--text-light)}.ejercicio-parametros{display:flex;gap:12px;align-items:center}.parametro-input{display:flex;flex-direction:column;gap:4px;align-items:center}.parametro-input label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.parametro-input input{width:60px;padding:6px;border:1px solid #e2e8f0;border-radius:4px;text-align:center;font-size:13px}.btn-remover-ejercicio{padding:8px;background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3);border-radius:6px;cursor:pointer;transition:all .3s ease}.btn-remover-ejercicio:hover{background:#dc2626;color:#fff}.btn-agregar-ejercicio{padding:12px 20px;background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-agregar-ejercicio:hover{background:#10b981;color:#fff}.modal-biblioteca .modal-content{max-width:1200px;width:95%;max-height:92vh;overflow-y:auto}.biblioteca-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.biblioteca-filtros{display:flex;gap:12px;flex-wrap:wrap}.filtro-categoria{padding:8px 16px;border:1px solid #e2e8f0;border-radius:20px;background:var(--white);font-size:14px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .3s ease}.filtro-categoria.activo{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.filtro-categoria:hover:not(.activo){border-color:var(--primary-color);background:#2563eb0d}.ejercicios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.ejercicio-card{background:var(--white);border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .3s ease;cursor:pointer}.ejercicio-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-1px)}.ejercicio-card.seleccionado{border-color:var(--primary-color);background:#2563eb05}.ejercicio-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.ejercicio-acciones{display:flex;gap:6px;opacity:0;transition:opacity .2s ease}.ejercicio-card:hover .ejercicio-acciones{opacity:1}.btn-ejercicio-accion{padding:6px 8px;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px}.btn-ejercicio-accion.editar{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.btn-ejercicio-accion.editar:hover{background:#3b82f6;color:#fff;transform:scale(1.05)}.btn-ejercicio-accion.eliminar{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.btn-ejercicio-accion.eliminar:hover{background:#ef4444;color:#fff;transform:scale(1.05)}.ejercicio-content{cursor:pointer}.ejercicio-content h5{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-dark)}.ejercicio-content p{margin:0 0 12px;font-size:14px;color:var(--text-light);line-height:1.4}.ejercicio-detalles{display:flex;flex-direction:column;gap:4px;margin-top:8px}.ejercicio-detalles span{font-size:12px;color:var(--text-muted)}.ejercicio-categoria{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.ejercicio-categoria.fuerza{background:#ef44441a;color:#dc2626}.ejercicio-categoria.cardio{background:#f59e0b1a;color:#d97706}.ejercicio-categoria.flexibilidad{background:#9333ea1a;color:#9333ea}.ejercicio-categoria.resistencia{background:#10b9811a;color:#059669}.ejercicio-musculos{font-size:12px;color:var(--text-muted)}.modal-asignar .modal-content{max-width:600px}.miembros-asignar{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.miembro-asignar-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .3s ease}.miembro-asignar-item:hover{border-color:var(--primary-color);background:#2563eb05}.miembro-asignar-item.seleccionado{border-color:var(--primary-color);background:#2563eb0d}.miembro-checkbox{width:16px;height:16px}.miembro-asignar-info h5{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-dark)}.miembro-asignar-info p{margin:0;font-size:12px;color:var(--text-light)}@media(max-width:768px){.rutinas-header{flex-direction:column;gap:16px;text-align:center}.rutinas-actions{justify-content:center}.rutinas-grid{grid-template-columns:1fr}.biblioteca-header{flex-direction:column;gap:16px;align-items:stretch}.biblioteca-filtros{justify-content:center}.ejercicios-grid{grid-template-columns:1fr}.ejercicio-parametros{flex-wrap:wrap;gap:8px}.parametro-input input{width:50px}.ejercicio-rutina-item{flex-direction:column;align-items:flex-start;gap:12px}.ejercicio-parametros{align-self:stretch;justify-content:space-between}.ejercicio-acciones{opacity:1}.btn-ejercicio-accion{min-width:32px;height:32px;font-size:14px}.modal-header-actions{flex-direction:column;gap:8px}.btn-nuevo-ejercicio{font-size:12px;padding:6px 12px}}.no-miembros-message{padding:20px;background:#fef3cd;border:1px solid #fbbf24;border-radius:8px;text-align:center}.no-miembros-message p{margin:0 0 8px;color:#92400e;font-weight:500}.no-miembros-note{font-size:14px;color:#a16207;font-weight:400!important}.asistencia-actions{display:flex;gap:10px;align-items:center}.btn-escanear-qr{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #3b82f64d}.btn-escanear-qr:hover{transform:translateY(-2px);box-shadow:0 4px 8px #3b82f666}.btn-registrar-asistencia{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #4caf504d}.btn-registrar-asistencia:hover{transform:translateY(-2px);box-shadow:0 4px 8px #4caf5066}.asistencia-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.modal-overlay .modal-content .form-group small{display:block;margin-top:5px;color:#6b7280;font-size:12px;line-height:1.4}.btn-confirmar:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.btn-confirmar:disabled:hover{transform:none;box-shadow:none}.no-clases-hoy{text-align:center;padding:40px 20px;background:#f8fafc;border-radius:12px;border:2px dashed #cbd5e1}.no-clases-hoy p{color:#64748b;font-size:16px;margin-bottom:15px}.btn-crear-clase{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #3b82f64d}.btn-crear-clase:hover{transform:translateY(-2px);box-shadow:0 4px 8px #3b82f666}.asistencia-dia-modal{max-width:800px;width:95%;max-height:90vh;overflow-y:auto}.asistencias-stats{display:flex;gap:20px;margin-bottom:25px;justify-content:center}.stat-card{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;padding:20px;text-align:center;min-width:120px;box-shadow:0 2px 4px #0000001a}.stat-number{font-size:32px;font-weight:800;color:#1e40af;margin-bottom:5px}.stat-label{font-size:14px;color:#64748b;font-weight:500}.asistencias-detalle h4{margin:0 0 15px;color:#374151;font-size:18px}.asistencias-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.table-header{display:grid;grid-template-columns:80px 1fr 100px 100px;gap:15px;padding:15px 20px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-weight:600;font-size:14px}.table-row{display:grid;grid-template-columns:80px 1fr 100px 100px;gap:15px;padding:15px 20px;border-bottom:1px solid #e5e7eb;align-items:center;transition:background-color .2s ease}.table-row:hover{background-color:#f8fafc}.table-row:last-child{border-bottom:none}.col-hora{font-weight:600;color:#374151;font-family:Courier New,monospace}.miembro-info{display:flex;flex-direction:column}.miembro-info strong{color:#374151;font-size:14px;margin-bottom:2px}.miembro-info small{color:#6b7280;font-size:12px}.badge{padding:4px 8px;border-radius:20px;font-size:12px;font-weight:600;text-align:center}.badge.entrada{background:#dcfce7;color:#166534}.badge.salida{background:#fee2e2;color:#991b1b}.badge-metodo{padding:4px 8px;border-radius:20px;font-size:12px;font-weight:600;text-align:center}.badge-metodo.qr{background:#dbeafe;color:#1e40af}.badge-metodo.codigo{background:#fef3c7;color:#92400e}.badge-metodo.manual{background:#f3e8ff;color:#7c3aed}.no-asistencias{text-align:center;padding:60px 20px;color:#6b7280}.no-data-icon{font-size:64px;margin-bottom:20px;opacity:.5}.no-asistencias h4{margin:0 0 10px;color:#374151;font-size:20px}.no-asistencias p{margin:0;font-size:16px}@media(max-width:768px){.asistencia-dia-modal{width:98%;margin:10px}.asistencias-stats{flex-direction:column;gap:15px}.stat-card{min-width:auto}.table-header,.table-row{grid-template-columns:60px 1fr 80px 80px;gap:10px;padding:12px 15px;font-size:12px}.miembro-info strong{font-size:13px}.miembro-info small{font-size:11px}}.nutricion-grid{display:grid;grid-template-columns:1fr 2fr;gap:24px;margin-top:20px}.nutricion-card{background:var(--white);border-radius:12px;padding:24px;box-shadow:0 2px 8px var(--shadow-light);border:1px solid #e2e8f0}.nutricion-card h4{margin:0 0 20px;color:var(--text-dark);font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.miembros-nutricion-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.miembro-nutricion-item{display:flex;flex-direction:column;gap:12px;padding:20px;background:#fff;border-radius:12px;border:2px solid #e2e8f0;transition:all .3s ease;min-height:320px;height:fit-content;overflow:visible}.miembro-nutricion-item:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 24px #2563eb1f}.miembro-info{display:flex;flex-direction:column;gap:6px;flex:1}.miembro-nombre{font-weight:700;color:var(--text-dark);font-size:16px;letter-spacing:-.02em}.miembro-email{font-size:13px;color:var(--text-muted)}.btn-datos-fisicos{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center}.btn-datos-fisicos:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.miembro-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin-top:auto;padding-top:12px;min-height:140px}.btn-descargar-pauta{padding:8px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-descargar-pauta:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-crear-pauta{padding:10px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.btn-crear-pauta:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.btn-ver-pautas{padding:10px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.btn-ver-pautas:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.pautas-list{display:flex;flex-direction:column;gap:16px;max-height:500px;overflow-y:auto}.pauta-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.pauta-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #ff00001a}.pauta-info{flex:1}.pauta-info h4{margin:0 0 8px;font-size:16px;color:var(--text-dark)}.pauta-info p{margin:4px 0;font-size:13px;color:var(--text-muted)}.badge-estado{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;margin-top:8px}.badge-estado.activa{background:#dcfce7;color:#166534}.badge-estado.inactiva{background:#fee2e2;color:#991b1b}.pauta-actions{display:flex;gap:8px}.btn-icon-action{width:40px;height:40px;border:none;border-radius:8px;font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon-action.download{background:linear-gradient(135deg,#10b981,#059669)}.btn-icon-action.download:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-icon-action.delete{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-icon-action.delete:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.btn-datos-fisicos.has-data{background:var(--success-color)}.btn-datos-fisicos.has-data:hover{background:#059669}.miembro-datos-resumen{margin-top:8px;padding:8px 12px;background:#10b9811a;border-radius:6px;border-left:3px solid var(--success-color);word-break:break-word}.miembro-datos-resumen small{color:var(--success-color);font-weight:600;font-size:12px;display:block}.alimentos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;max-height:500px;overflow-y:auto}.alimento-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .3s ease;display:flex;flex-direction:column;min-height:280px;height:auto}.alimento-card:hover{border-color:var(--primary-color);box-shadow:0 8px 24px #2563eb1f;transform:translateY(-2px)}.alimento-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.alimento-header h5{margin:0;font-size:15px;font-weight:700;color:var(--text-dark);line-height:1.3;letter-spacing:-.02em;word-break:break-word}.alimento-categoria{background:#2563eb1a;color:var(--primary-color);padding:4px 10px;border-radius:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.alimento-macros{display:flex;flex-direction:column;gap:8px;margin:12px 0;padding:14px;background:#f8fafc;border-radius:8px}.macro-item{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:4px 0}.macro-label{color:var(--text-muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.macro-value{color:var(--text-dark);font-weight:700;font-size:14px;text-align:right;white-space:nowrap}.alimento-descripcion{font-size:11px;color:var(--text-muted);margin:8px 0;line-height:1.4;flex:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.alimento-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;margin-top:auto;border-top:2px solid #e2e8f0}.alimento-autor{font-size:10px;color:var(--text-muted);font-style:italic}.alimento-actions{display:flex;gap:4px}.btn-edit-alimento,.btn-delete-alimento{background:none;border:none;padding:4px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease}.btn-edit-alimento:hover{background:#f3f4f6}.btn-delete-alimento:hover{background:#fef2f2}.calculadora-modal,.alimento-modal,.datos-fisicos-modal{max-width:600px;max-height:90vh;overflow-y:auto}.calculadora-form,.alimento-form,.datos-fisicos-form{display:flex;flex-direction:column;gap:20px}.form-section{background:#f8fafc;padding:16px;border-radius:8px;border:1px solid #e2e8f0}.form-section h4{margin:0 0 16px;color:var(--text-dark);font-size:16px;font-weight:600}.resultado-calculadora{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;padding:20px;margin-top:20px}.resultado-calculadora h4{margin:0 0 16px;color:#0369a1;font-size:18px;font-weight:600}.resultado-grid{display:grid;gap:12px;margin-bottom:20px}.resultado-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border-radius:6px;border:1px solid #bae6fd}.resultado-label{font-weight:500;color:var(--text-dark)}.resultado-value{font-weight:700;color:#0369a1;font-size:16px}.macronutrientes{margin-top:20px}.macronutrientes h5{margin:0 0 16px;color:#0369a1;font-size:16px;font-weight:600}.macros-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.macro-card{background:#fff;border-radius:8px;padding:16px;text-align:center;border:2px solid}.macro-card.proteinas{border-color:#ef4444;background:#fef2f2}.macro-card.carbohidratos{border-color:#f59e0b;background:#fffbeb}.macro-card.grasas{border-color:#10b981;background:#f0fdf4}.macro-card h6{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-dark)}.macro-values{display:flex;flex-direction:column;gap:4px}.macro-values span{font-size:12px;font-weight:500;color:var(--text-dark)}.macro-values span:first-child{font-size:16px;font-weight:700}@media(max-width:1024px){.nutricion-grid{grid-template-columns:1fr;gap:20px}.alimentos-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.macros-grid{grid-template-columns:1fr;gap:8px}}@media(max-width:768px){.calculadora-modal,.alimento-modal,.datos-fisicos-modal{max-width:95%;margin:20px auto}.alimentos-grid{grid-template-columns:1fr}.alimento-macros{grid-template-columns:1fr;gap:6px}.miembro-nutricion-item{flex-direction:column;align-items:flex-start;gap:12px}.btn-datos-fisicos{align-self:flex-end}}.header-filters{display:flex;gap:12px;align-items:center}.search-input{padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;min-width:250px;transition:all .2s}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a}.filter-select{padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;transition:all .2s}.filter-select:focus{outline:none;border-color:var(--primary-color)}.perfiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;padding:24px}.perfil-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px var(--shadow-light);overflow:hidden;transition:all .3s ease;border:1px solid #e2e8f0}.perfil-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px var(--shadow-medium)}.perfil-card-header{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0}.perfil-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;border:3px solid white;box-shadow:0 2px 8px var(--shadow-light)}.perfil-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;font-size:28px;font-weight:700}.perfil-info h4{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text-dark)}.perfil-email{font-size:13px;color:var(--text-light);margin-bottom:8px;display:block}.estado-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.estado-badge.activo{background:#d1fae5;color:#065f46}.estado-badge.inactivo{background:#fee2e2;color:#991b1b}.estado-badge.suspendido{background:#fef3c7;color:#92400e}.perfil-card-body{padding:20px}.perfil-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat-item{display:flex;align-items:center;gap:8px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.stat-icon{font-size:20px}.stat-info{display:flex;flex-direction:column}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;font-weight:500}.stat-value{font-size:14px;font-weight:600;color:var(--text-dark)}.perfil-documentos-resumen{display:flex;gap:16px;padding-top:12px;border-top:1px solid #e2e8f0}.doc-count{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-light)}.doc-icon{font-size:16px}.perfil-card-footer{padding:16px 20px;background:#f8fafc;border-top:1px solid #e2e8f0}.btn-full{width:100%}.modal-large{max-width:900px;max-height:90vh;overflow-y:auto}.perfil-detalle{padding:0}.perfil-section{padding:24px;border-bottom:1px solid #e2e8f0}.perfil-section:last-child{border-bottom:none}.perfil-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-dark);display:flex;align-items:center;gap:8px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h4{margin:0}.btn-sm{padding:8px 16px;font-size:13px}.perfil-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase}.info-value{font-size:14px;color:var(--text-dark);font-weight:500}.perfil-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;border:1px solid #e2e8f0}.stat-card .stat-icon{font-size:32px}.stat-content{display:flex;flex-direction:column;gap:4px}.stat-content .stat-label{font-size:11px}.stat-content .stat-value{font-size:18px}.documentos-list{display:flex;flex-direction:column;gap:12px}.documento-item{display:flex;align-items:center;gap:12px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s}.documento-item:hover{background:#fff;box-shadow:0 2px 8px var(--shadow-light)}.documento-icon{font-size:32px;color:var(--primary-color)}.documento-info{flex:1;display:flex;flex-direction:column;gap:4px}.documento-nombre{font-size:14px;font-weight:600;color:var(--text-dark)}.documento-tipo{font-size:12px;color:var(--text-light);text-transform:capitalize}.documento-fecha{font-size:11px;color:var(--text-muted)}.documento-descripcion{font-size:12px;color:var(--text-light);font-style:italic;margin-top:4px}.documento-actions{display:flex;gap:8px}.btn-icon{padding:8px 12px;background:transparent;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s;font-size:16px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f8fafc;border-color:var(--primary-color)}.btn-icon.btn-danger:hover{background:#fee2e2;border-color:var(--error-color)}.fotos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.foto-item{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-light);transition:all .3s}.foto-item:hover{transform:scale(1.05);box-shadow:0 8px 16px var(--shadow-medium)}.foto-item img{width:100%;height:100%;object-fit:cover}.foto-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:16px;display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity .3s}.foto-item:hover .foto-overlay{opacity:1}.foto-fecha{font-size:11px;color:#fff;font-weight:500}.foto-descripcion{font-size:12px;color:#ffffffe6}.btn-delete-foto{position:absolute;top:8px;right:8px;padding:6px 10px;background:#ef4444e6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;opacity:0;transition:all .3s}.foto-item:hover .btn-delete-foto{opacity:1}.btn-delete-foto:hover{background:var(--error-color);transform:scale(1.1)}.preview-container{margin-top:16px;border-radius:8px;overflow:hidden;border:2px solid #e2e8f0}.image-preview{width:100%;max-height:300px;object-fit:contain;background:#f8fafc}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-message{text-align:center;padding:24px;color:var(--text-muted);font-style:italic}.modal-foto-ampliada{background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-foto-container{max-width:1200px;max-height:95vh;background:#fff}.foto-ampliada-body{display:flex;flex-direction:column;gap:20px;padding:0;max-height:calc(95vh - 180px);overflow:hidden}.foto-ampliada{width:100%;max-height:calc(95vh - 280px);object-fit:contain;background:#000;border-radius:8px}.foto-ampliada-info{padding:20px;background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;gap:12px}.info-row{display:flex;gap:12px;align-items:center}.info-row .info-label{font-size:13px;color:var(--text-muted);font-weight:600;min-width:120px}.info-row .info-value{font-size:14px;color:var(--text-dark);font-weight:500}.foto-item{cursor:pointer}.foto-item:hover{cursor:zoom-in}.info-box{padding:16px;background:linear-gradient(135deg,#e0f2fe,#dbeafe);border-left:4px solid var(--primary-color);border-radius:8px;margin-top:16px;font-size:14px;color:var(--text-dark)}.info-box strong{color:var(--primary-color)}.rutinas-asignadas-list{display:flex;flex-direction:column;gap:12px}.rutina-asignada-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s}.rutina-asignada-item:hover{background:#fff;box-shadow:0 2px 8px var(--shadow-light)}.rutina-asignada-info{flex:1}.rutina-asignada-info h5{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-dark)}.rutina-asignada-info p{margin:0 0 8px;font-size:13px;color:var(--text-light)}.rutina-asignada-meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted)}.btn-descargar-rutina-perfil{padding:10px 20px;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-descargar-rutina-perfil:hover{background:linear-gradient(135deg,#0e7490,#155e75);transform:translateY(-2px);box-shadow:0 4px 12px #0891b24d}@media(max-width:768px){.perfiles-grid,.perfil-stats{grid-template-columns:1fr}.perfil-stats-grid{grid-template-columns:repeat(2,1fr)}.perfil-info-grid{grid-template-columns:1fr}.fotos-grid{grid-template-columns:repeat(2,1fr)}.header-filters{flex-direction:column;width:100%}.search-input,.filter-select{width:100%}.modal-foto-container{max-width:95vw}.foto-ampliada{max-height:60vh}.info-row{flex-direction:column;align-items:flex-start;gap:4px}.info-row .info-label{min-width:auto}}.modal-pauta-grande{max-width:1000px;max-height:90vh;overflow-y:auto}.pauta-seccion{margin-bottom:24px;padding:20px;background:#f8fafc;border-radius:8px}.pauta-seccion h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-dark)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.comida-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:16px}.comida-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:2px solid #e2e8f0}.comida-title-edit{display:flex;gap:12px;align-items:center;flex:1}.input-nombre-comida{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:15px;font-weight:600;color:var(--primary-color);background:#fff;transition:all .2s}.input-nombre-comida:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a}.input-horario-comida{width:120px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-weight:500;color:var(--text-dark);background:#fff;transition:all .2s}.input-horario-comida:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a}.comida-header h5{margin:0;font-size:15px;font-weight:600;color:var(--primary-color)}.comida-totales small{font-size:12px;color:var(--text-muted);font-weight:500}.alimentos-comida-list{margin-bottom:12px}.alimento-comida-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f8fafc;border-radius:6px;margin-bottom:8px}.alimento-info{display:flex;gap:12px;align-items:center}.alimento-info strong{font-size:14px;color:var(--text-dark)}.alimento-info span{font-size:13px;color:var(--text-muted);font-weight:500}.alimento-macros{display:flex;gap:12px;font-size:12px;color:var(--text-light)}.btn-delete-small{background:#ef4444;color:#fff;border:none;border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-delete-small:hover{background:#dc2626;transform:scale(1.1)}.agregar-alimento-comida{margin-top:12px}.select-alimento{width:100%;padding:10px;border:2px dashed #cbd5e1;border-radius:6px;background:#fff;font-size:13px;color:var(--text-dark);cursor:pointer;transition:all .2s}.select-alimento:hover{border-color:var(--primary-color);background:#f8fafc}.pauta-resumen{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #10b981}.resumen-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.macro-total{text-align:center;padding:16px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.macro-label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:8px;font-weight:500}.macro-value{display:block;font-size:20px;font-weight:700;color:var(--primary-color)}.section-header-flex{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header-flex h4{margin:0}.btn-agregar-suplemento{padding:8px 16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-agregar-suplemento:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.suplementos-list{display:flex;flex-direction:column;gap:12px}.suplemento-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.suplemento-item:hover{border-color:#8b5cf6;box-shadow:0 2px 8px #8b5cf61a}.suplemento-info{display:flex;flex-direction:column;gap:4px;flex:1}.suplemento-info strong{font-size:15px;color:var(--text-dark)}.suplemento-info span{font-size:13px;color:var(--text-muted)}.suplemento-notas{font-style:italic;color:var(--text-light)!important}.empty-message{text-align:center;color:var(--text-muted);font-style:italic;padding:20px}@media(max-width:768px){.modal-pauta-grande{max-width:95vw}.form-row{grid-template-columns:1fr}.resumen-macros{grid-template-columns:repeat(2,1fr)}.alimento-comida-item{flex-direction:column;align-items:flex-start;gap:8px}.alimento-macros{width:100%;justify-content:space-between}.comida-title-edit{flex-direction:column;align-items:stretch;gap:8px}.input-horario-comida{width:100%}.comida-header{flex-direction:column;align-items:stretch;gap:12px}}.progress-bar{width:100%;height:8px;background:var(--gg-border);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:var(--gg-success);transition:width .3s ease}.vp-meta{display:flex;flex-direction:column;gap:var(--gg-space-3)}.vp-meta__cifras{display:flex;align-items:baseline;gap:var(--gg-space-2);flex-wrap:wrap}.vp-meta__actual{font-size:32px;font-weight:800;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.vp-meta__objetivo{font-size:14px;color:var(--gg-muted-foreground)}.vp-meta__bar{height:10px;border-radius:999px;background:var(--gg-background);overflow:hidden}.vp-meta__bar span{display:block;height:100%;background:var(--gg-primary);border-radius:999px;transition:width .4s ease}.vp-meta__bar.is-complete span{background:var(--gg-success)}.vp-meta__pie{display:flex;justify-content:space-between;font-size:13px;color:var(--gg-muted-foreground)}.vp-meta__detalle{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gg-space-3);margin:var(--gg-space-2) 0 0;padding-top:var(--gg-space-3);border-top:1px solid var(--gg-border)}.vp-meta__detalle dt{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--gg-muted-foreground)}.vp-meta__detalle dd{margin:2px 0 0;font-weight:600}.vp-alertas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.vp-alertas__item{display:flex;align-items:center;gap:var(--gg-space-3);padding:var(--gg-space-2) 0;border-bottom:1px solid var(--gg-border)}.vp-alertas__item:last-child{border-bottom:0}.vp-alertas__avatar{width:32px;height:32px;border-radius:50%;background:var(--gg-warning-soft);color:var(--gg-warning);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vp-alertas__info{flex:1;min-width:0;display:flex;flex-direction:column}.vp-alertas__nombre{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.miembros-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gg-space-4)}.vp-member{--vp-member-accent: var(--gg-muted-foreground);background:var(--gg-card);border:1px solid var(--gg-border);border-left:3px solid var(--vp-member-accent);border-radius:var(--gg-radius);padding:var(--gg-space-4);display:flex;flex-direction:column;gap:var(--gg-space-3);transition:box-shadow .2s ease}.vp-member--activo{--vp-member-accent: var(--gg-success)}.vp-member--por_vencer{--vp-member-accent: var(--gg-warning)}.vp-member--vencido,.vp-member--suspendido{--vp-member-accent: var(--gg-danger)}.vp-member:hover{box-shadow:var(--gg-shadow)}.vp-member__head{display:flex;align-items:flex-start;gap:var(--gg-space-3)}.vp-member__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.vp-member__avatar{width:40px;height:40px;border-radius:50%;background:var(--gg-primary-soft);color:var(--gg-primary);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vp-member__id{flex:1;min-width:0}.vp-member__name{margin:0;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vp-member__plan{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--gg-muted-foreground)}.vp-member__meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--gg-space-2) var(--gg-space-4);font-size:13px;color:var(--gg-muted-foreground)}.vp-member__meta li{display:inline-flex;align-items:center;gap:6px}.vp-member__meta svg{width:14px;height:14px;flex-shrink:0}.vp-member__bar{height:4px;background:var(--gg-background);border-radius:999px;overflow:hidden}.vp-member__bar span{display:block;height:100%;background:var(--vp-member-accent)}.vp-member__actions{display:flex;align-items:center;gap:var(--gg-space-2)}.vp-member__actions .gg-btn{flex:1}.vp-member__actions .vp-member__iconbtn{margin-left:auto}.vp-chips{display:flex;flex-wrap:wrap;gap:var(--gg-space-2);margin-bottom:var(--gg-space-4)}.vp-chip{padding:6px 12px;border:1px solid var(--gg-border);border-radius:999px;background:var(--gg-card);color:var(--gg-muted-foreground);font:inherit;font-size:13px;cursor:pointer;transition:all .15s ease}.vp-chip:hover{border-color:var(--gg-primary);color:var(--gg-primary)}.vp-chip.is-active{background:var(--gg-primary-soft);border-color:var(--gg-primary);color:var(--gg-primary);font-weight:600}.miembro-search-container{display:flex;flex-direction:column;gap:.5rem}.vp-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gg-space-2);margin-bottom:var(--gg-space-3)}.vp-filtros .gg-select,.vp-filtros .gg-input{width:auto;min-width:150px}.vp-filtros__activos{display:flex;gap:var(--gg-space-2);flex-wrap:wrap;margin:calc(-1 * var(--gg-space-1)) 0 var(--gg-space-3)}.vp-sub{font-size:12px;color:var(--gg-muted-foreground)}@media(max-width:640px){.vp-filtros .gg-select,.vp-filtros .gg-input,.vp-filtros .gg-btn{flex:1 1 100%}}.vp-chart{display:flex;align-items:stretch;gap:var(--gg-space-2);height:220px;padding:var(--gg-space-2) var(--gg-space-1) 0}.vp-chart__group{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;border-radius:var(--gg-radius-sm)}.vp-chart__group.is-selected{outline:2px solid var(--gg-primary);outline-offset:-2px;background:var(--gg-primary-soft)}.vp-chart__bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}.vp-chart__bar{flex:1;max-width:26px;border-radius:var(--gg-radius-sm) var(--gg-radius-sm) 0 0;transition:height .3s ease}.vp-chart__bar--actual{background:var(--gg-primary)}.vp-chart__bar--anterior{background:var(--gg-border)}.vp-chart__label{margin-top:var(--gg-space-2);font-size:.7rem;color:var(--gg-muted-foreground);white-space:nowrap}.vp-chart__legend{display:flex;justify-content:flex-end;gap:var(--gg-space-4);margin-bottom:var(--gg-space-2);font-size:.75rem;color:var(--gg-muted-foreground)}.vp-chart__legend-item{display:inline-flex;align-items:center;gap:var(--gg-space-1)}.vp-chart__dot{display:inline-block;width:10px;height:10px;border-radius:50%}.vp-chart__dot--actual{background:var(--gg-primary)}.vp-chart__dot--anterior{background:var(--gg-border)}.membership-stats{display:flex;flex-direction:column;gap:1.25rem}.membership-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--gg-background);border-radius:var(--gg-radius-sm);transition:background .3s ease}.membership-item:hover{background:var(--gg-border)}.membership-item span:first-child{min-width:80px;font-weight:600}.membership-item span:last-child{min-width:80px;text-align:right;font-weight:600;color:var(--gg-info)}.progress-bar.small{flex:1;height:8px;background:var(--gg-border);border-radius:4px;overflow:hidden}.progress-bar.small .progress-fill{background:var(--gg-info);height:100%;border-radius:4px;transition:width .5s ease}.conversion-stats{display:flex;flex-direction:column;gap:1rem}.conversion-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--gg-background);border-radius:var(--gg-radius);border-left:4px solid var(--gg-info);transition:all .3s ease}.conversion-item:hover{background:var(--gg-border);transform:translate(4px)}.conversion-item span:first-child{font-weight:500;color:var(--gg-muted-foreground)}.conversion-number{font-weight:700;font-size:1.1rem;color:var(--gg-info)}.conversion-percentage{font-weight:700;font-size:1.1rem;color:var(--gg-success)}.mejores-dias-list{display:flex;flex-direction:column;gap:1rem}.mejor-dia-item{display:grid;grid-template-columns:50px 1fr auto auto;gap:1rem;align-items:center;padding:1rem;background:var(--gg-background);border-radius:var(--gg-radius);transition:all .3s ease}.mejor-dia-item:hover{background:var(--gg-border);transform:translate(4px)}.mejor-dia-item .ranking{width:40px;height:40px;border-radius:50%;background:var(--gg-info);color:var(--gg-card);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.mejor-dia-item .fecha{font-weight:600;text-transform:capitalize}.mejor-dia-item .cantidad{padding:.5rem 1rem;background:var(--gg-card);border-radius:var(--gg-radius-sm);font-weight:600;color:var(--gg-info);font-size:.9rem}.mejor-dia-item .total{padding:.5rem 1rem;background:var(--gg-success);color:var(--gg-card);border-radius:var(--gg-radius-sm);font-weight:700;font-size:1.1rem;min-width:120px;text-align:center}.vp-asist__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--gg-space-3);margin-bottom:var(--gg-space-3)}.vp-asist__segment{display:flex;gap:var(--gg-space-1)}.vp-asist__mes{display:flex;align-items:center;gap:var(--gg-space-2);font-weight:600;text-transform:capitalize}.vp-asist__resumen{font-size:13px;color:var(--gg-muted-foreground);margin-bottom:var(--gg-space-2)}@media print{.gg-shell__sidebar,.gg-shell__header{display:none!important}.reportes-content{padding:0}}.credencial-modal{max-width:420px;width:95%}.credencial-container{padding:20px;display:flex;justify-content:center}.vp-cred{position:relative;width:340px;height:540px;border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--gg-shadow);font-family:inherit;color:#0f172a;display:flex;flex-direction:column}.vp-cred__hero{position:relative;flex:0 0 200px;height:200px;background:url(/login-bg.jpg) center/cover no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:22px;gap:10px}.vp-cred__hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a40,#0f172aa6)}.vp-cred__hero>*{position:relative;z-index:1}.vp-cred__logo{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.vp-cred__brand{display:flex;flex-direction:column;align-items:center;color:#fff;text-align:center}.vp-cred__brand-title{font-size:20px;font-weight:800;letter-spacing:1px}.vp-cred__brand-sub{font-size:10px;letter-spacing:2px;opacity:.85;margin-top:2px}.vp-cred__body{position:relative;flex:1 1 auto;min-height:0;background:#fff;margin-top:-24px;border-radius:50% 50% 0 0/24px 24px 0 0;padding:84px 22px 12px;display:flex;flex-direction:column;align-items:center;text-align:center}.vp-cred__photo{position:absolute;top:200px;left:50%;transform:translate(-50%,-50%);width:96px;height:96px;border-radius:50%;border:4px solid #fff;background:var(--gg-primary-soft);color:var(--gg-primary);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 6px 18px #0000002e;z-index:2}.vp-cred__photo img{width:100%;height:100%;object-fit:cover}.vp-cred__initials{font-size:30px;font-weight:800}.vp-cred__name{margin:0;font-size:20px;font-weight:800;line-height:1.15}.vp-cred__id{margin:4px 0 10px;font-size:12px;color:#64748b}.vp-cred__data{display:flex;gap:18px;margin:0 0 12px}.vp-cred__data div{display:flex;flex-direction:column;align-items:center}.vp-cred__data dt{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#64748b}.vp-cred__data dd{margin:0;font-size:14px;font-weight:700;color:var(--gg-primary)}.vp-cred__qr{background:#fff;padding:8px;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:6px;width:128px}.vp-cred__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700;letter-spacing:2px}.vp-cred__footer{margin-top:auto;font-size:10px;letter-spacing:2px;color:#94a3b8}.vp-cred__photo-actions{display:flex;align-items:center;justify-content:center;gap:var(--gg-space-2);flex-wrap:wrap;padding:0 20px 8px}.vp-cred--standard .vp-cred__body{background:#fff;overflow:hidden;padding-bottom:16px}.vp-cred--standard .vp-cred__body:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;bottom:-70px;background:radial-gradient(circle,#dc262624,#dc26260f 55%,#dc262600 72%);pointer-events:none}.vp-cred--standard .vp-cred__body:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;left:-50px;bottom:90px;background:radial-gradient(circle,#dc26261a,#dc262600 70%);pointer-events:none}.vp-cred--standard .vp-cred__orb{position:absolute;top:18px;right:22px;width:56px;height:56px;border-radius:50%;border:6px solid rgba(220,38,38,.1)}.vp-cred--standard .vp-cred__name,.vp-cred--standard .vp-cred__id,.vp-cred--standard .vp-cred__data,.vp-cred--standard .vp-cred__qr,.vp-cred--standard .vp-cred__footer{position:relative;z-index:1}.vp-cred--standard .vp-cred__qr{border-color:#dc262640}.vp-cred--standard .vp-cred__footer{color:#dc2626;opacity:.7}.vp-cred--standard:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,#dc2626,#b91c1c)}.vp-cred--premium{background:#0b0f17;color:#f8fafc;box-shadow:var(--gg-shadow),inset 0 0 0 1px #d4af3759}.vp-cred--premium .vp-cred__body{background:linear-gradient(180deg,#161b26,#0b0f17);color:#f8fafc;overflow:hidden;padding-bottom:16px}.vp-cred--premium .vp-cred__body:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;bottom:-70px;background:radial-gradient(circle,#d4af3738,#d4af3714 55%,#d4af3700 72%);pointer-events:none}.vp-cred--premium .vp-cred__body:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;left:-50px;bottom:90px;background:radial-gradient(circle,#d4af3724,#d4af3700 70%);pointer-events:none}.vp-cred--premium .vp-cred__orb{position:absolute;top:18px;right:22px;width:56px;height:56px;border-radius:50%;border:6px solid rgba(255,255,255,.08)}.vp-cred--premium .vp-cred__name,.vp-cred--premium .vp-cred__id,.vp-cred--premium .vp-cred__data,.vp-cred--premium .vp-cred__qr,.vp-cred--premium .vp-cred__footer{position:relative;z-index:1}.vp-cred--premium .vp-cred__photo{border-color:#d4af37;background:#1f2633;color:#d4af37}.vp-cred--premium .vp-cred__name{color:#fff}.vp-cred--premium .vp-cred__id{color:#cbd5e1}.vp-cred--premium .vp-cred__data dt{color:#94a3b8}.vp-cred--premium .vp-cred__data dd{color:#d4af37}.vp-cred--premium .vp-cred__qr{background:#fff;border-color:#d4af3780}.vp-cred--premium .vp-cred__code{color:#0b0f17}.vp-cred--premium .vp-cred__brand-sub{color:#f1d27a;opacity:1}.vp-cred--premium .vp-cred__footer{color:#d4af37;letter-spacing:3px}.vp-cred--premium .vp-cred__hero:after{background:linear-gradient(180deg,#05080e59,#05080ecc)}.vp-cred--premium:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,#d4af37,#f1d27a,#d4af37)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:var(--gg-card);border-radius:var(--gg-radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--gg-shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--gg-space-6) var(--gg-space-6) var(--gg-space-4);border-bottom:1px solid var(--gg-border)}.modal-header h3{margin:0;font-size:20px;font-weight:700}.modal-footer{display:flex;justify-content:flex-end;gap:var(--gg-space-2);flex-wrap:wrap;padding:0 20px 20px}.form-nuevo-miembro,.form-renovacion,.form-pago{padding:var(--gg-space-6)}.vp-notifs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.vp-notifs__item{display:flex;gap:var(--gg-space-3);padding:var(--gg-space-2) 0;border-bottom:1px solid var(--gg-border)}.vp-notifs__item:last-child{border-bottom:0}.vp-notifs__icon{width:32px;height:32px;border-radius:50%;background:var(--gg-warning-soft);color:var(--gg-warning);display:flex;align-items:center;justify-content:center;flex-shrink:0}.vp-notifs__msg{margin:0;font-size:14px}.vp-stack{margin-bottom:var(--gg-space-5)}.vp-check-hint{display:block;margin-left:28px}.vp-note__intro{margin:0 0 var(--gg-space-4);font-size:15px;font-weight:500}.vp-flush-top{margin-top:0}.vp-modal-intro{margin:0 0 var(--gg-space-4);color:var(--gg-muted-foreground)}.vp-flush{margin:0}@media(max-width:768px){.miembros-grid{grid-template-columns:1fr}.modal-content{width:95%;margin:20px}}@media(max-width:480px){.modal-header,.form-nuevo-miembro,.form-renovacion,.form-pago{padding:var(--gg-space-4)}}.detalle-sections{display:flex;flex-direction:column;gap:var(--gg-space-5)}.detalle-section:last-child{border-bottom:none}.vp-detalle__titulo{margin:0 0 var(--gg-space-3);font-size:14px;font-weight:600;color:var(--gg-foreground);display:flex;align-items:center;gap:var(--gg-space-2)}.vp-detalle__titulo svg{width:16px;height:16px;color:var(--gg-primary);flex-shrink:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--gg-space-3)}.info-item{display:flex;flex-direction:column;gap:2px;min-width:0}.info-item__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--gg-muted-foreground)}.info-item__value{font-size:14px;font-weight:500;word-break:break-word}.observaciones-content{background:var(--gg-background);border:1px solid var(--gg-border);border-radius:var(--gg-radius);padding:var(--gg-space-4);font-size:14px;line-height:1.6}.gg-shell{min-height:100vh;background:var(--gg-background)}.gg-shell__sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--gg-sidebar-current, var(--gg-sidebar-width));background:var(--gg-sidebar);display:flex;flex-direction:column;z-index:900;transition:width .2s ease}.gg-shell--resizing .gg-shell__sidebar{transition:none}.gg-shell__brand{display:flex;align-items:center;gap:var(--gg-space-3);padding:var(--gg-space-4) var(--gg-space-5)}.gg-shell__logo{width:34px;height:34px;border-radius:50%;object-fit:contain;background:#fff;flex-shrink:0}.gg-shell__brand-name{color:#fff;font-weight:800;font-size:16px;letter-spacing:.5px;flex:1;white-space:nowrap;overflow:hidden}.gg-shell__collapse-btn{width:28px;height:28px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid rgba(255,255,255,.12);border-radius:var(--gg-radius-sm);color:var(--gg-sidebar-foreground);cursor:pointer;transition:background .15s ease,color .15s ease}.gg-shell__collapse-btn:hover{background:var(--gg-sidebar-hover);color:#fff}.gg-shell__drawer-close{display:none;background:none;border:none;cursor:pointer;color:var(--gg-sidebar-foreground);padding:4px}.gg-shell__nav{flex:1;overflow-y:auto;padding:var(--gg-space-2) var(--gg-space-3);display:flex;flex-direction:column;gap:2px}.gg-shell__nav-item{position:relative;display:flex;align-items:center;gap:var(--gg-space-3);width:100%;background:none;border:none;cursor:pointer;border-left:3px solid transparent;border-radius:0 var(--gg-radius-sm) var(--gg-radius-sm) 0;padding:10px var(--gg-space-3);font-size:14px;font-weight:500;color:var(--gg-sidebar-foreground);text-align:left;transition:background .15s ease,transform .15s ease,color .15s ease}.gg-shell__nav-item:hover{background:var(--gg-sidebar-hover);transform:translate(2px)}.gg-shell__nav-item--active{border-left-color:var(--gg-primary);background:var(--gg-sidebar-hover);color:var(--gg-sidebar-active)}.gg-shell__nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--gg-primary);color:#fff;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.gg-shell__user{display:flex;align-items:center;gap:var(--gg-space-3);padding:var(--gg-space-4) var(--gg-space-5);border-top:1px solid rgba(255,255,255,.08)}.gg-shell__avatar{width:36px;height:36px;border-radius:var(--gg-radius-sm);background:var(--gg-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.gg-shell__user-info{flex:1;min-width:0;display:flex;flex-direction:column}.gg-shell__user-name{color:#fff;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gg-shell__user-role{color:var(--gg-sidebar-foreground);font-size:11px;text-transform:capitalize}.gg-shell__logout{background:none;border:none;cursor:pointer;color:var(--gg-sidebar-foreground);padding:6px;border-radius:var(--gg-radius-sm)}.gg-shell__logout:hover{color:#fff;background:var(--gg-sidebar-hover)}.gg-shell__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:850;animation:gg-fade-in .18s ease-out}@keyframes gg-fade-in{0%{opacity:0}to{opacity:1}}.gg-shell__resizer{position:absolute;top:0;right:-3px;bottom:0;width:6px;cursor:col-resize;z-index:10}.gg-shell__resizer:hover,.gg-shell--resizing .gg-shell__resizer{background:#dc262699}@media(min-width:1024px){.gg-shell--collapsed .gg-shell__brand{flex-direction:column;padding:var(--gg-space-4) 0;gap:var(--gg-space-2)}.gg-shell--collapsed .gg-shell__brand-name,.gg-shell--collapsed .gg-shell__nav-label,.gg-shell--collapsed .gg-shell__user-info{display:none}.gg-shell--collapsed .gg-shell__nav-item{justify-content:center;padding:0;width:44px;height:44px;margin:0 auto;border-left:none;border-radius:var(--gg-radius-sm)}.gg-shell--collapsed .gg-shell__nav-item:hover{transform:none}.gg-shell--collapsed .gg-shell__nav-item--active{background:var(--gg-sidebar-hover);color:var(--gg-primary)}.gg-shell--collapsed .gg-shell__nav-badge{position:absolute;top:4px;right:4px;margin-left:0;min-width:16px;height:16px;font-size:10px}.gg-shell--collapsed .gg-shell__user{flex-direction:column;gap:var(--gg-space-2);padding:var(--gg-space-3) 0}}.gg-shell__main{margin-left:var(--gg-sidebar-current, var(--gg-sidebar-width));transition:margin-left .2s ease}.gg-shell--resizing .gg-shell__main{transition:none}.gg-shell__header{position:sticky;top:0;height:var(--gg-header-height);display:flex;align-items:center;gap:var(--gg-space-3);padding:0 var(--gg-space-6);background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--gg-border);z-index:800}.gg-shell__menu-btn{display:none;background:none;border:none;cursor:pointer;color:var(--gg-foreground);padding:6px;border-radius:var(--gg-radius-sm);font-size:22px}.gg-shell__header-logo{display:none;width:30px;height:30px;border-radius:50%;object-fit:contain}.gg-shell__header-titles{flex:1;min-width:0}.gg-shell__title{font-size:18px;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gg-shell__subtitle{font-size:13px;color:var(--gg-muted-foreground);margin:0}.gg-shell__header-right{display:flex;align-items:center;gap:var(--gg-space-4)}.gg-shell__header-user{font-size:13px;font-weight:600;color:var(--gg-muted-foreground)}.gg-shell__content{padding:var(--gg-space-6);max-width:1400px}.gg-page{animation:ggFadeUp .3s ease-out}@keyframes ggFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1023px){.gg-shell__sidebar{width:280px!important;transform:translate(-100%);transition:transform .25s ease}.gg-shell__sidebar--open{transform:translate(0);box-shadow:var(--gg-shadow-lg)}.gg-shell--collapsed .gg-shell__brand{flex-direction:row;padding:var(--gg-space-4) var(--gg-space-5);gap:var(--gg-space-3)}.gg-shell--collapsed .gg-shell__brand-name,.gg-shell--collapsed .gg-shell__nav-label,.gg-shell--collapsed .gg-shell__user-info{display:block}.gg-shell--collapsed .gg-shell__nav-item{justify-content:flex-start;width:100%;height:auto;margin:0;padding:10px var(--gg-space-3);border-radius:0 var(--gg-radius-sm) var(--gg-radius-sm) 0;border-left:3px solid transparent}.gg-shell--collapsed .gg-shell__nav-item--active{color:var(--gg-sidebar-active);border-left-color:var(--gg-primary)}.gg-shell--collapsed .gg-shell__nav-badge{position:static;margin-left:auto;min-width:18px;height:18px;font-size:11px}.gg-shell--collapsed .gg-shell__user{flex-direction:row;padding:var(--gg-space-4) var(--gg-space-5);gap:var(--gg-space-3)}.gg-shell__collapse-btn,.gg-shell__resizer{display:none}.gg-shell__drawer-close{display:block}.gg-shell__main{margin-left:0}.gg-shell__menu-btn{display:inline-flex}.gg-shell__header-logo{display:block}.gg-shell__header{padding:0 var(--gg-space-4)}.gg-shell__header-user{display:none}.gg-shell__content{padding:var(--gg-space-4)}}:root{--primary-color: #FF0000;--secondary-color: #CC0000;--accent-color: #000000;--success-color: #00C851;--warning-color: #f59e0b;--error-color: #ef4444;--white: #ffffff;--background-light: #f8fafc;--text-dark: #1f2937;--text-light: #6b7280;--text-muted: #9ca3af;--shadow-light: rgba(0, 0, 0, .1);--shadow-medium: rgba(0, 0, 0, .15);--shadow-strong: rgba(0, 0, 0, .25)}.kinesiologo-panel{min-height:100vh;background:linear-gradient(135deg,var(--background-light) 0%,#e2e8f0 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.loading-message{display:flex;justify-content:center;align-items:center;min-height:50vh;color:#64748b;font-size:1.1rem}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:var(--white);border-bottom:1px solid #e2e8f0;margin-bottom:20px}.header-brand{display:flex;align-items:center;gap:12px}.header-logo{width:64px;height:64px;object-fit:contain}.brand-info{display:flex;flex-direction:column;gap:2px}.brand-title{font-size:20px;font-weight:700;color:var(--text-dark);margin:0;letter-spacing:-.5px}.brand-subtitle{font-size:11px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.user-section{display:flex;align-items:center;gap:12px}.user-avatar{width:36px;height:36px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white)}.user-info{display:flex;flex-direction:column;gap:1px;text-align:right}.user-name{font-size:13px;font-weight:600;color:var(--text-dark)}.user-role{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.btn-logout{display:flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);border:none;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.5px}.btn-logout:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.panel-nav{background:#fff;padding:0 2rem;border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;overflow-x:auto}.nav-tab{background:none;border:none;padding:1rem 1.5rem;font-size:1rem;font-weight:500;color:#64748b;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease;white-space:nowrap}.nav-tab:hover{color:var(--primary-color);background:#2563eb0d}.nav-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:#2563eb1a}.panel-content{padding:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card-main{background:var(--white);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #00000014;border:1px solid #e2e8f0;transition:transform .3s ease,box-shadow .3s ease}.stat-card-main:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:12px;color:var(--white)}.stat-info{display:flex;flex-direction:column;gap:.25rem}.stat-info .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-dark)}.stat-info .stat-label{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:2rem}.dashboard-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:transform .3s ease,box-shadow .3s ease}.dashboard-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.dashboard-card.full-width{grid-column:1 / -1}.dashboard-card h3{margin:0 0 1.5rem;font-size:1.3rem;font-weight:600;color:#1e293b}.agenda-list{display:flex;flex-direction:column;gap:1rem}.agenda-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:12px;border-left:4px solid var(--primary-color)}.agenda-time{font-weight:700;color:var(--primary-color);font-size:1.1rem;min-width:60px}.agenda-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.agenda-paciente{font-weight:600;color:var(--text-dark)}.agenda-tipo{font-size:.9rem;color:var(--text-muted);text-transform:capitalize}.agenda-estado{font-size:1.2rem}.priority-list{display:flex;flex-direction:column;gap:1rem}.priority-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fef2f2;border-radius:12px;border-left:4px solid var(--error-color)}.priority-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.priority-name{font-weight:600;color:var(--text-dark)}.priority-diagnosis{font-size:.9rem;color:var(--text-muted)}.priority-progress{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:80px}.progress-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-bar.small{width:80px;height:6px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));transition:width .3s ease}.progress-text{font-size:.8rem;color:var(--text-muted);font-weight:600}.terapias-recientes{display:flex;flex-direction:column;gap:1rem}.terapia-item{display:grid;grid-template-columns:1fr 1fr 2fr 1fr;gap:1rem;padding:1rem;background:#f8fafc;border-radius:12px;border-left:4px solid var(--success-color);align-items:center}.terapia-info{display:flex;flex-direction:column;gap:.25rem}.terapia-paciente{font-weight:600;color:var(--text-dark)}.terapia-tipo{font-size:.9rem;color:var(--text-muted)}.terapia-details{display:flex;flex-direction:column;gap:.25rem}.terapia-fecha,.terapia-duracion{font-size:.9rem;color:var(--text-muted)}.terapia-progreso p{margin:0;font-size:.9rem;color:var(--text-dark)}.terapia-proxima{text-align:right}.terapia-proxima span{font-size:.9rem;color:var(--primary-color);font-weight:600}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.content-header h2{margin:0;font-size:2rem;font-weight:700;color:#1e293b}.header-actions{display:flex;gap:1rem;align-items:center}.search-input,.filter-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:border-color .3s ease}.search-input:focus,.filter-select:focus{outline:none;border-color:var(--primary-color)}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2563eb4d}.pacientes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.paciente-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.paciente-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.paciente-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.paciente-header h4{margin:0;font-size:1.2rem;font-weight:600;color:#1e293b}.estado-badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.estado-badge.en_tratamiento{background:#dcfce7;color:#166534}.estado-badge.evaluacion{background:#fef3c7;color:#92400e}.estado-badge.alta{background:#dbeafe;color:#1e40af}.paciente-info{margin-bottom:1rem}.paciente-info p{margin:.5rem 0;font-size:.95rem;color:#64748b}.paciente-progreso{margin-bottom:1rem}.paciente-progreso span{font-size:.9rem;color:var(--text-muted);margin-bottom:.5rem;display:block}.paciente-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-evaluar,.btn-terapia,.btn-historial{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-evaluar{background:#fef3c7;color:#92400e}.btn-terapia{background:#dcfce7;color:#166534}.btn-historial{background:#ff00001a;color:var(--primary-color)}.btn-evaluar:hover,.btn-terapia:hover,.btn-historial:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.coming-soon{display:flex;justify-content:center;align-items:center;min-height:300px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014}.coming-soon p{font-size:1.2rem;color:var(--text-muted);text-align:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:1.5rem;font-weight:700;color:#1e293b}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;padding:.5rem;border-radius:8px;transition:all .3s ease}.modal-close:hover{background:#f1f5f9;color:#374151}.form-paciente{padding:2rem}.form-section{margin-bottom:2rem}.form-section h4{margin:0 0 1rem;font-size:1.2rem;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#374151;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 2rem 2rem;border-top:1px solid #e2e8f0}.btn-cancelar,.btn-guardar{padding:.75rem 1.5rem;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancelar{background:#f1f5f9;color:#64748b}.btn-cancelar:hover{background:#e2e8f0}.btn-guardar{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff}.btn-guardar:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2563eb4d}@media(max-width:768px){.panel-header{flex-direction:column;gap:1rem;text-align:center;padding:12px 16px}.header-brand{justify-content:center}.header-logo{width:48px;height:48px}.brand-title{font-size:18px}.user-section{justify-content:center}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card-main{padding:1rem}.stat-icon{width:50px;height:50px;font-size:1.5rem}.stat-info .stat-value{font-size:1.5rem}.panel-nav{padding:0 1rem}.panel-content{padding:1rem}.content-header{flex-direction:column;gap:1rem;align-items:stretch}.header-actions{flex-direction:column}.dashboard-grid,.pacientes-grid{grid-template-columns:1fr}.terapia-item{grid-template-columns:1fr;gap:.5rem}.form-row{grid-template-columns:1fr}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.modal-actions{padding:1rem;flex-direction:column}}@media(max-width:480px){.brand-title{font-size:16px}.stat-card-main{flex-direction:column;text-align:center;gap:.5rem}.nav-tab{padding:.75rem 1rem;font-size:.9rem}.dashboard-card,.paciente-card,.modal-header,.form-paciente{padding:1rem}}.evaluaciones-content{padding:0 32px}.evaluaciones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;margin-top:24px}.evaluacion-card{background:var(--white);border-radius:16px;padding:24px;box-shadow:0 4px 12px var(--shadow-light);border:1px solid #e2e8f0;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.evaluacion-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--shadow-medium);border-color:var(--primary-color)}.evaluacion-card.inicial{border-left:4px solid var(--success-color)}.evaluacion-card.seguimiento{border-left:4px solid var(--warning-color)}.evaluacion-card.final{border-left:4px solid var(--primary-color)}.evaluacion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.evaluacion-info h4{font-size:18px;font-weight:600;color:var(--text-dark);margin:0 0 4px}.evaluacion-fecha{font-size:14px;color:var(--text-muted);font-weight:500}.evaluacion-badges{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.tipo-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--white)}.tipo-badge.inicial{background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%)}.tipo-badge.seguimiento{background:linear-gradient(135deg,var(--warning-color) 0%,#d97706 100%)}.tipo-badge.final{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%)}.estado-badge{padding:3px 10px;border-radius:16px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.estado-badge.completada{background:#dcfce7;color:#166534}.estado-badge.pendiente{background:#fef3c7;color:#92400e}.evaluacion-body{margin-bottom:20px}.evaluacion-section{margin-bottom:16px}.evaluacion-section h5{font-size:14px;font-weight:600;color:var(--text-dark);margin:0 0 8px;display:flex;align-items:center;gap:6px}.evaluacion-section p{font-size:13px;color:var(--text-light);line-height:1.5;margin:0;background:#f8fafc;padding:12px;border-radius:8px;border-left:3px solid var(--primary-color)}.evaluacion-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #f1f5f9}.evaluacion-kinesiologo{font-size:13px;color:var(--text-muted);font-weight:500}.evaluacion-actions{display:flex;gap:8px}.btn-ver,.btn-editar,.btn-imprimir{padding:6px 12px;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-ver{background:linear-gradient(135deg,#6366f1,#4f46e5);color:var(--white)}.btn-ver:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-editar{background:linear-gradient(135deg,var(--warning-color) 0%,#d97706 100%);color:var(--white)}.btn-editar:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.btn-imprimir{background:linear-gradient(135deg,#6b7280,#4b5563);color:var(--white)}.btn-imprimir:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6b72804d}.empty-state-evaluaciones{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background:var(--white);border-radius:16px;border:2px dashed #e2e8f0;margin-top:24px}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state-evaluaciones h3{font-size:20px;font-weight:600;color:var(--text-dark);margin:0 0 8px}.empty-state-evaluaciones p{font-size:16px;color:var(--text-muted);margin:0 0 24px;max-width:400px}.modal-large{max-width:800px;max-height:90vh;overflow-y:auto}.form-evaluacion{padding:24px}.form-evaluacion .form-section{margin-bottom:32px;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.form-evaluacion .form-section h4{font-size:16px;font-weight:600;color:var(--text-dark);margin:0 0 16px;display:flex;align-items:center;gap:8px}.form-evaluacion .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-evaluacion .form-group{display:flex;flex-direction:column;gap:6px}.form-evaluacion label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-evaluacion input,.form-evaluacion select,.form-evaluacion textarea{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;background:var(--white)}.form-evaluacion input:focus,.form-evaluacion select:focus,.form-evaluacion textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-evaluacion textarea{resize:vertical;min-height:80px;font-family:inherit}@media(max-width:768px){.evaluaciones-content{padding:0 16px}.evaluaciones-grid{grid-template-columns:1fr;gap:16px}.evaluacion-card{padding:16px}.evaluacion-header{flex-direction:column;align-items:flex-start;gap:12px}.evaluacion-badges{flex-direction:row;align-items:center}.evaluacion-footer{flex-direction:column;align-items:flex-start;gap:12px}.evaluacion-actions{width:100%;justify-content:space-between}.modal-large{max-width:95vw;margin:20px}.form-evaluacion .form-row{grid-template-columns:1fr}}.planes-content{padding:0 32px}.planes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:24px;margin-top:24px}.plan-card{background:var(--white);border-radius:16px;padding:24px;box-shadow:0 4px 12px var(--shadow-light);border:1px solid #e2e8f0;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.plan-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--shadow-medium);border-color:var(--primary-color)}.plan-card.activo{border-left:4px solid var(--success-color)}.plan-card.completado{border-left:4px solid var(--primary-color)}.plan-card.suspendido{border-left:4px solid var(--error-color)}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.plan-info h4{font-size:18px;font-weight:600;color:var(--text-dark);margin:0 0 4px}.plan-fechas{font-size:13px;color:var(--text-muted);font-weight:500}.plan-badges{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.estado-badge-plan{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--white)}.estado-badge-plan.activo{background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%)}.estado-badge-plan.completado{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%)}.estado-badge-plan.suspendido{background:linear-gradient(135deg,var(--error-color) 0%,#dc2626 100%)}.duracion-badge{padding:3px 10px;border-radius:16px;font-size:10px;font-weight:600;background:#f3f4f6;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.plan-body{margin-bottom:20px}.plan-section{margin-bottom:16px}.plan-section h5{font-size:14px;font-weight:600;color:var(--text-dark);margin:0 0 8px;display:flex;align-items:center;gap:6px}.plan-section p{font-size:13px;color:var(--text-light);line-height:1.5;margin:0;background:#f8fafc;padding:12px;border-radius:8px;border-left:3px solid var(--primary-color)}.ejercicios-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ejercicio-tag{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;border:1px solid #7dd3fc}.progreso-container{display:flex;align-items:center;gap:12px;margin-top:8px}.progreso-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progreso-fill{height:100%;background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%);border-radius:4px;transition:width .3s ease}.progreso-text{font-size:12px;font-weight:600;color:var(--success-color);min-width:35px}.plan-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #f1f5f9}.plan-kinesiologo{font-size:13px;color:var(--text-muted);font-weight:500}.plan-actions{display:flex;gap:8px}.btn-ver-plan,.btn-editar-plan,.btn-imprimir-plan{padding:6px 12px;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-ver-plan{background:linear-gradient(135deg,#6366f1,#4f46e5);color:var(--white)}.btn-ver-plan:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-editar-plan{background:linear-gradient(135deg,var(--warning-color) 0%,#d97706 100%);color:var(--white)}.btn-editar-plan:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.btn-imprimir-plan{background:linear-gradient(135deg,#6b7280,#4b5563);color:var(--white)}.btn-imprimir-plan:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6b72804d}.empty-state-planes{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background:var(--white);border-radius:16px;border:2px dashed #e2e8f0;margin-top:24px}.empty-state-planes h3{font-size:20px;font-weight:600;color:var(--text-dark);margin:0 0 8px}.empty-state-planes p{font-size:16px;color:var(--text-muted);margin:0 0 24px;max-width:400px}.form-plan{padding:24px}.form-plan .form-section{margin-bottom:32px;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.form-plan .form-section h4{font-size:16px;font-weight:600;color:var(--text-dark);margin:0 0 16px;display:flex;align-items:center;gap:8px}.form-plan .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-plan .form-group{display:flex;flex-direction:column;gap:6px}.form-plan label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-plan input,.form-plan select,.form-plan textarea{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;background:var(--white)}.form-plan input:focus,.form-plan select:focus,.form-plan textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-plan textarea{resize:vertical;min-height:80px;font-family:inherit}.ejercicios-input-container{position:relative}.form-help{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:4px}@media(max-width:768px){.planes-content{padding:0 16px}.planes-grid{grid-template-columns:1fr;gap:16px}.plan-card{padding:16px}.plan-header{flex-direction:column;align-items:flex-start;gap:12px}.plan-badges{flex-direction:row;align-items:center}.plan-footer{flex-direction:column;align-items:flex-start;gap:12px}.plan-actions{width:100%;justify-content:space-between}.ejercicios-list{flex-direction:column}.ejercicio-tag{text-align:center}.form-plan .form-row{grid-template-columns:1fr}}.terapias-content{padding:0 32px}.terapias-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:24px;margin-top:24px}.terapia-card{background:var(--white);border-radius:16px;padding:24px;box-shadow:0 4px 12px var(--shadow-light);border:1px solid #e2e8f0;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.terapia-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--shadow-medium);border-color:var(--primary-color)}.terapia-card.completada{border-left:4px solid var(--success-color)}.terapia-card.programada{border-left:4px solid var(--warning-color)}.terapia-card.cancelada{border-left:4px solid var(--error-color)}.terapia-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.terapia-info h4{font-size:18px;font-weight:600;color:var(--text-dark);margin:0 0 4px}.terapia-fecha-hora{font-size:13px;color:var(--text-muted);font-weight:500}.terapia-badges{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.estado-badge-terapia{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--white)}.estado-badge-terapia.completada{background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%)}.estado-badge-terapia.programada{background:linear-gradient(135deg,var(--warning-color) 0%,#d97706 100%)}.estado-badge-terapia.cancelada{background:linear-gradient(135deg,var(--error-color) 0%,#dc2626 100%)}.tipo-badge-terapia{padding:3px 10px;border-radius:16px;font-size:10px;font-weight:600;background:#e0f2fe;color:#0369a1;text-transform:uppercase;letter-spacing:.5px;border:1px solid #7dd3fc}.duracion-badge-terapia{padding:3px 10px;border-radius:16px;font-size:10px;font-weight:600;background:#f3f4f6;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.terapia-body{margin-bottom:20px}.terapia-section{margin-bottom:16px}.terapia-section h5{font-size:14px;font-weight:600;color:var(--text-dark);margin:0 0 8px;display:flex;align-items:center;gap:6px}.terapia-section p{font-size:13px;color:var(--text-light);line-height:1.5;margin:0;background:#f8fafc;padding:12px;border-radius:8px;border-left:3px solid var(--primary-color)}.terapia-programada{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:16px;border-radius:12px;border:1px solid #f59e0b}.terapia-programada .terapia-section p{background:#fffc;border-left:3px solid var(--warning-color)}.terapia-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #f1f5f9}.terapia-kinesiologo{font-size:13px;color:var(--text-muted);font-weight:500}.terapia-actions{display:flex;gap:6px;flex-wrap:wrap}.btn-ver-terapia,.btn-editar-terapia,.btn-imprimir-terapia,.btn-iniciar-terapia,.btn-reprogramar-terapia,.btn-cancelar-terapia{padding:6px 10px;border:none;border-radius:6px;font-size:10px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-ver-terapia{background:linear-gradient(135deg,#6366f1,#4f46e5);color:var(--white)}.btn-ver-terapia:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-editar-terapia{background:linear-gradient(135deg,var(--warning-color) 0%,#d97706 100%);color:var(--white)}.btn-editar-terapia:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.btn-imprimir-terapia{background:linear-gradient(135deg,#6b7280,#4b5563);color:var(--white)}.btn-imprimir-terapia:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6b72804d}.btn-iniciar-terapia{background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%);color:var(--white)}.btn-iniciar-terapia:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-reprogramar-terapia{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white)}.btn-reprogramar-terapia:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-cancelar-terapia{background:linear-gradient(135deg,var(--error-color) 0%,#dc2626 100%);color:var(--white)}.btn-cancelar-terapia:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.empty-state-terapias{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background:var(--white);border-radius:16px;border:2px dashed #e2e8f0;margin-top:24px}.empty-state-terapias h3{font-size:20px;font-weight:600;color:var(--text-dark);margin:0 0 8px}.empty-state-terapias p{font-size:16px;color:var(--text-muted);margin:0 0 24px;max-width:400px}.form-terapia{padding:24px}.form-terapia .form-section{margin-bottom:32px;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.form-terapia .form-section h4{font-size:16px;font-weight:600;color:var(--text-dark);margin:0 0 16px;display:flex;align-items:center;gap:8px}.form-terapia .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-terapia .form-group{display:flex;flex-direction:column;gap:6px}.form-terapia label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-terapia input,.form-terapia select,.form-terapia textarea{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;background:var(--white)}.form-terapia input:focus,.form-terapia select:focus,.form-terapia textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-terapia textarea{resize:vertical;min-height:80px;font-family:inherit}@media(max-width:768px){.terapias-content{padding:0 16px}.terapias-grid{grid-template-columns:1fr;gap:16px}.terapia-card{padding:16px}.terapia-header{flex-direction:column;align-items:flex-start;gap:12px}.terapia-badges{flex-direction:row;align-items:center;flex-wrap:wrap}.terapia-footer{flex-direction:column;align-items:flex-start;gap:12px}.terapia-actions{width:100%;justify-content:space-between}.form-terapia .form-row{grid-template-columns:1fr}}.agenda-content{padding:0 32px}.date-filter{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:var(--white);color:var(--text-dark)}.agenda-timeline{margin-top:24px}.agenda-day{margin-bottom:32px;background:var(--white);border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 2px 8px var(--shadow-light)}.day-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.day-header h3{font-size:18px;font-weight:600;margin:0;text-transform:capitalize}.citas-count{background:#fff3;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.citas-timeline{padding:0}.cita-card{display:flex;border-bottom:1px solid #f1f5f9;transition:all .2s ease;position:relative}.cita-card:last-child{border-bottom:none}.cita-card:hover{background:#f8fafc}.cita-card.confirmada{border-left:4px solid var(--success-color)}.cita-card.pendiente{border-left:4px solid var(--warning-color)}.cita-card.cancelada{border-left:4px solid var(--error-color);background:#fef2f2}.cita-card.reprogramada{border-left:4px solid var(--primary-color);background:#ff00000d}.cita-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100px;padding:20px 16px;background:#f8fafc;border-right:1px solid #e2e8f0}.cita-time .hora{font-size:18px;font-weight:700;color:var(--text-dark);margin-bottom:4px}.cita-time .duracion{font-size:11px;font-weight:600;color:var(--text-muted);background:#e2e8f0;padding:2px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.cita-content{flex:1;padding:20px 24px}.cita-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.cita-header h4{font-size:18px;font-weight:600;color:var(--text-dark);margin:0}.cita-badges{display:flex;gap:8px;flex-wrap:wrap}.estado-badge-cita{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--white)}.estado-badge-cita.confirmada{background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%)}.estado-badge-cita.pendiente{background:linear-gradient(135deg,var(--warning-color) 0%,#d97706 100%)}.estado-badge-cita.cancelada{background:linear-gradient(135deg,var(--error-color) 0%,#dc2626 100%)}.estado-badge-cita.reprogramada{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%)}.tipo-badge-cita{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;background:#e0f2fe;color:#0369a1;border:1px solid #7dd3fc;text-transform:uppercase;letter-spacing:.5px}.cita-details{margin-bottom:16px}.cita-info p{margin:0 0 8px;font-size:14px;color:var(--text-light)}.cita-info strong{color:var(--text-dark);font-weight:600}.cancelacion-motivo{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;margin-top:8px}.reprogramacion-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px;margin-top:8px}.cita-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-confirmar-cita,.btn-reprogramar-cita,.btn-cancelar-cita,.btn-iniciar-cita,.btn-ver-cita,.btn-eliminar-cita{padding:6px 12px;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-confirmar-cita{background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%);color:var(--white)}.btn-confirmar-cita:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-reprogramar-cita{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white)}.btn-reprogramar-cita:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-cancelar-cita{background:linear-gradient(135deg,var(--error-color) 0%,#dc2626 100%);color:var(--white)}.btn-cancelar-cita:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-iniciar-cita{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white)}.btn-iniciar-cita:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-ver-cita{background:linear-gradient(135deg,#6366f1,#4f46e5);color:var(--white)}.btn-ver-cita:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-eliminar-cita{background:linear-gradient(135deg,#6b7280,#4b5563);color:var(--white)}.btn-eliminar-cita:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6b72804d}.empty-state-agenda{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background:var(--white);border-radius:16px;border:2px dashed #e2e8f0;margin-top:24px}.empty-state-agenda h3{font-size:20px;font-weight:600;color:var(--text-dark);margin:0 0 8px}.empty-state-agenda p{font-size:16px;color:var(--text-muted);margin:0 0 24px;max-width:400px}.form-cita{padding:24px}.form-cita .form-section{margin-bottom:32px;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.form-cita .form-section h4{font-size:16px;font-weight:600;color:var(--text-dark);margin:0 0 16px;display:flex;align-items:center;gap:8px}.form-cita .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-cita .form-group{display:flex;flex-direction:column;gap:6px}.form-cita label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-cita input,.form-cita select,.form-cita textarea{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;background:var(--white)}.form-cita input:focus,.form-cita select:focus,.form-cita textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-cita textarea{resize:vertical;min-height:80px;font-family:inherit}@media(max-width:768px){.agenda-content{padding:0 16px}.cita-card{flex-direction:column}.cita-time{flex-direction:row;justify-content:space-between;min-width:auto;border-right:none;border-bottom:1px solid #e2e8f0}.cita-header{flex-direction:column;align-items:flex-start;gap:12px}.cita-badges{width:100%}.cita-actions{justify-content:space-between}.day-header{flex-direction:column;align-items:flex-start;gap:8px}.form-cita .form-row{grid-template-columns:1fr}}.tk{min-height:100vh;background:#0f172a;color:#fff;font-family:var(--gg-font-family, "Inter", system-ui, sans-serif);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,1fr);gap:24px;padding:24px;box-sizing:border-box}.tk-loading{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#ffffffb3}.tk-scan{background:#111b31;border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}.tk-scan__video{position:relative;flex:1;min-height:0;aspect-ratio:4 / 3;background:#060b16}.tk-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.tk-camera-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:#fffc}.tk-camera-error button{padding:10px 18px;border:1px solid rgba(255,255,255,.25);border-radius:var(--gg-radius-sm, 8px);background:#ffffff14;color:#fff;font:inherit;cursor:pointer}.tk-scan__frame{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.tk-scan__corner{position:absolute;width:34px;height:34px;border:4px solid var(--gg-primary, #dc2626)}.tk-scan__corner--tl{top:20%;left:20%;border-right:none;border-bottom:none;border-radius:6px 0 0}.tk-scan__corner--tr{top:20%;right:20%;border-left:none;border-bottom:none;border-radius:0 6px 0 0}.tk-scan__corner--bl{bottom:20%;left:20%;border-right:none;border-top:none;border-radius:0 0 0 6px}.tk-scan__corner--br{bottom:20%;right:20%;border-left:none;border-top:none;border-radius:0 0 6px}.tk-scan__sweep{position:absolute;left:calc(20% + 8px);right:calc(20% + 8px);height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gg-primary, #dc2626),transparent);box-shadow:0 0 14px #dc2626cc;animation:tkSweep 2.2s ease-in-out infinite}@keyframes tkSweep{0%{top:calc(20% + 6px)}50%{top:calc(80% - 9px)}to{top:calc(20% + 6px)}}.tk-scan__prompt{padding:22px 24px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.tk-scan__title{margin:0;font-size:24px;font-weight:700}.tk-scan__status{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#ffffffb3}.tk-scan__dot{width:10px;height:10px;border-radius:50%;background:var(--gg-success, #22c55e);box-shadow:0 0 10px #22c55ecc;animation:tkPulse 1.6s ease-in-out infinite}.tk-scan__status.is-busy .tk-scan__dot{background:var(--gg-warning, #f59e0b);box-shadow:0 0 10px #f59e0bcc}@keyframes tkPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.6}}.tk-side{display:flex;flex-direction:column;gap:16px;min-height:0}.tk-side__brand{display:flex;align-items:center;gap:14px}.tk-side__logo{width:56px;height:56px;object-fit:contain}.tk-side__name{font-size:22px;font-weight:800;letter-spacing:.02em}.tk-side__role{font-size:14px;color:#ffffff8c}.tk-clock{background:#111b31;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px 20px}.tk-clock__time{font-size:64px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.tk-clock__secs{font-size:24px;font-weight:600;color:#ffffff80;margin-left:8px}.tk-clock__date{margin-top:6px;font-size:16px;color:#ffffffa6;text-transform:capitalize}.tk-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tk-stat{background:#111b31;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px}.tk-stat__value{font-size:34px;font-weight:800;font-variant-numeric:tabular-nums}.tk-stat__label{margin-top:2px;font-size:13px;color:#ffffff8c}.tk-visits{background:#111b31;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;flex:1;min-height:0;overflow:auto}.tk-visits__title{margin:0 0 12px;font-size:15px;font-weight:700}.tk-visits__list{display:flex;flex-direction:column;gap:10px}.tk-visit{display:flex;align-items:center;gap:10px}.tk-visit__avatar{width:34px;height:34px;border-radius:50%;background:#dc26262e;color:#fca5a5;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.tk-visit__info{flex:1;min-width:0;display:flex;flex-direction:column}.tk-visit__name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk-visit__time{font-size:12px;color:#ffffff80;font-variant-numeric:tabular-nums}.tk-visits__empty{margin:8px 0;color:#ffffff73;font-size:14px}.tk-side__footer{font-size:12px;color:#fff6;text-align:right;font-variant-numeric:tabular-nums}.tk-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#7f1d1df2;border:1px solid rgba(220,38,38,.5);color:#fecaca;border-radius:12px;padding:12px 20px;font-size:15px;z-index:3000;animation:tkFadeUp .25s ease}@keyframes tkFadeUp{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tk-result{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;display:flex;align-items:center;justify-content:center;animation:tkResultIn .35s ease}.tk-result--entrada{background:linear-gradient(135deg,#064e3b,#059669)}.tk-result--salida{background:linear-gradient(135deg,#1e3a8a,#2563eb)}.tk-result--dias_agotados,.tk-result--sesiones_agotadas{background:linear-gradient(135deg,#78350f,#d97706)}.tk-result--denegado{background:linear-gradient(135deg,#7f1d1d,#dc2626)}@keyframes tkResultIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.tk-result__content{text-align:center;padding:32px;max-width:900px}.tk-result__icon{width:120px;height:120px;margin:0 auto 20px;border-radius:50%;background:#ffffff2e;border:3px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center}.tk-result__title{margin:0;font-size:56px;font-weight:800;letter-spacing:.02em}.tk-result__name{margin-top:10px;font-size:40px;font-weight:700}.tk-result__msg{margin:16px auto 0;font-size:24px;line-height:1.4;max-width:820px;color:#ffffffeb}.tk-result__extra{margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:12px}.tk-dots{display:flex;gap:12px}.tk-dot{width:20px;height:20px;border-radius:50%;background:#ffffff40;border:2px solid rgba(255,255,255,.6)}.tk-dot.is-used{background:#fff}.tk-progress{width:280px;max-width:70vw;height:12px;border-radius:999px;background:#ffffff40;overflow:hidden}.tk-progress__fill{height:100%;border-radius:999px;background:#fff;transition:width .4s ease}.tk-result__hint{font-size:20px;font-weight:600}.tk-result__comeback{margin-top:28px;font-size:32px;font-weight:800;background:#ffffff29;border-radius:16px;padding:14px 28px;display:inline-block}.tk-result__countdown{position:absolute;left:0;bottom:0;height:6px;width:100%;background:#ffffffb3;transform-origin:left;animation-name:tkCountdown;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes tkCountdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:1023px){.tk{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:16px;padding:16px;overflow:auto}.tk-scan__video{height:55vh;aspect-ratio:auto}.tk-side{overflow:visible}.tk-clock__time{font-size:44px}.tk-result__title{font-size:36px}.tk-result__name{font-size:28px}.tk-result__msg{font-size:18px}}@media(max-width:1023px){.tk-visits__list .tk-visit:nth-child(n+5){display:none}}@media(max-width:1023px)and (orientation:portrait){.tk-scan__title{font-size:28px}.tk-clock__time{font-size:56px}}@media(prefers-reduced-motion:reduce){.tk-scan__sweep,.tk-scan__dot,.tk-result,.tk-toast{animation:none!important}}.App{text-align:center}.App-header{background-color:#282c34;padding:20px;color:#fff;min-height:100vh}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #444}.App-header h1{margin:0;color:red;font-size:28px}.user-info{display:flex;align-items:center;gap:15px}.user-info span{color:#fff;font-weight:500}.logout-button{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.logout-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b4d}.usuarios-section{max-width:800px;margin:0 auto}.usuarios-section h2{margin-bottom:20px;color:#fff}.usuarios-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding:20px 0}.usuario-card{background-color:#3a3f47;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:transform .2s}.usuario-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.usuario-card h3{margin:0 0 10px;color:red}.usuario-card p{margin:5px 0;color:#ccc}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,red,#c00,#000);color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{font-size:18px;font-weight:500;margin:0}@media(max-width:768px){.header-top{flex-direction:column;gap:15px;text-align:center}.user-info{flex-direction:column;gap:10px}}.gg-totem{min-height:100vh;background:#0f172a}.gg-totem__bar{position:fixed;top:12px;right:12px;display:flex;gap:8px;z-index:2000;transition:opacity .4s}.gg-totem__bar--dim{opacity:.25}.gg-totem__bar-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:#0f172ab3;color:#fff;border:none;border-radius:var(--gg-radius-sm);cursor:pointer}.gg-totem__bar-btn:hover{background:#0f172ae6}.gg-totem__fs-hint{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#0f172ad9;color:#fff;padding:16px 28px;border-radius:var(--gg-radius);font-size:18px;font-weight:600;z-index:2100;pointer-events:none}.gg-totem-locked{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f172a;padding:24px}.gg-totem-locked__card{text-align:center;max-width:380px}.gg-totem-locked__logo{width:96px;height:96px;border-radius:50%;object-fit:contain;margin-bottom:20px}.gg-totem-locked__title{color:#fff;font-size:26px;font-weight:800;margin:0 0 12px}.gg-totem-locked__msg{color:var(--gg-sidebar-foreground);font-size:15px;margin:0 0 24px;line-height:1.5}
