:root{--color-bg: #0f0f1a;--color-surface: #1a1a2e;--color-surface-alt: #16213e;--color-surface-elevated: #1f2b47;--color-card: #1e2a3a;--color-border: rgba(255, 255, 255, .08);--color-primary: #ffd700;--color-primary-soft: rgba(255, 215, 0, .15);--color-primary-glow: rgba(255, 215, 0, .3);--color-text: #f0f0f5;--color-text-secondary: #8b8fa3;--color-text-muted: #5a5e72;--color-success: #10b981;--color-success-soft: rgba(16, 185, 129, .15);--color-warning: #f59e0b;--color-warning-soft: rgba(245, 158, 11, .15);--color-danger: #ef4444;--color-danger-soft: rgba(239, 68, 68, .15);--color-info: #3b82f6;--color-info-soft: rgba(59, 130, 246, .15);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-xs: .7rem;--font-sm: .8rem;--font-base: .938rem;--font-md: 1.05rem;--font-lg: 1.25rem;--font-xl: 1.5rem;--font-2xl: 1.875rem;--font-3xl: 2.25rem;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px var(--color-primary-glow);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--navbar-height: 64px;--header-height: 56px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--color-bg);color:#e6c200;line-height:1.5;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.body-fecha-diferente{background:radial-gradient(circle at top,var(--color-danger-soft),transparent 55%),var(--color-bg)}.date-warning-banner{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-danger-soft);border:1px solid var(--color-danger);color:var(--color-text);font-size:var(--font-sm);font-weight:600}.date-warning-banner i{color:var(--color-danger)}#app{min-height:100dvh;display:flex;flex-direction:column}.page{flex:1;padding:var(--space-lg);padding-top:calc(var(--safe-top) + var(--space-lg));padding-bottom:calc(var(--navbar-height) + var(--safe-bottom) + var(--space-lg));max-width:600px;margin:0 auto;width:100%}h1{font-size:var(--font-2xl);font-weight:800;letter-spacing:-.02em}h2{font-size:var(--font-xl);font-weight:700;letter-spacing:-.01em}h3{font-size:var(--font-lg);font-weight:600}h4{font-size:var(--font-md);font-weight:600}p{color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-full)}::selection{background:var(--color-primary);color:var(--color-bg)}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes ripple{to{transform:scale(4);opacity:0}}.animate-fade{animation:fadeIn var(--transition-base) both}.animate-slide{animation:slideUp var(--transition-slow) both}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.hidden{display:none!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-base);font-weight:600;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,255,255,.3) 10%,transparent 10.01%);transform:scale(0);opacity:0;transition:transform .5s,opacity .3s}.btn:active:after{transform:scale(10);opacity:0;transition:0s;transform:scale(0)}.btn-primary{background:linear-gradient(135deg,var(--color-primary),#e6c200);color:var(--color-bg)}.btn-primary:active{transform:scale(.97);filter:brightness(.9)}.btn-secondary{background:var(--color-surface-elevated);color:var(--color-text);border:1px solid var(--color-border)}.btn-danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:var(--font-sm);border-radius:var(--radius-sm)}.btn-block{width:100%}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-full);font-size:var(--font-md)}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card-glass{background:#1e2a3ab3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);padding:var(--space-lg)}.card:active{transform:scale(.98)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.card-title{font-size:var(--font-md);font-weight:600;color:var(--color-text)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary)}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.badge-dot{position:absolute;top:-2px;right:-2px;width:10px;height:10px;background:var(--color-danger);border-radius:50%;border:2px solid var(--color-bg);animation:pulse 2s infinite}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:var(--font-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.form-input::placeholder{color:var(--color-text-muted)}.form-textarea{resize:vertical;min-height:80px}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238b8fa3' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.progress-bar{width:100%;height:6px;background:var(--color-surface);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-primary),#e6c200);transition:width var(--transition-slow)}.progress-fill-success{background:linear-gradient(90deg,var(--color-success),#34d399)}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-elevated) 50%,var(--color-surface) 75%);background-size:400% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:14px;margin-bottom:var(--space-sm);width:80%}.skeleton-text-sm{height:10px;width:60%}.skeleton-card{height:80px;margin-bottom:var(--space-md);border-radius:var(--radius-lg)}.toast-container{position:fixed;top:calc(var(--safe-top) + var(--space-lg));left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none;width:calc(100% - var(--space-xl) * 2);max-width:400px}.toast{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:500;display:flex;align-items:center;gap:var(--space-sm);pointer-events:auto;animation:slideUp var(--transition-base) both;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast-success{background:#10b981e6;color:#fff}.toast-error{background:#ef4444e6;color:#fff}.toast-info{background:#3b82f6e6;color:#fff}.toast-exit{animation:fadeIn var(--transition-fast) reverse both}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn var(--transition-fast) both}.modal-content{background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;padding:var(--space-xl);padding-bottom:calc(var(--safe-bottom) + var(--space-xl));animation:slideUp var(--transition-base) both}.modal-handle{width:40px;height:4px;background:var(--color-text-muted);border-radius:var(--radius-full);margin:0 auto var(--space-xl)}.modal-title{font-size:var(--font-lg);font-weight:700;margin-bottom:var(--space-xl)}.section{margin-bottom:var(--space-lg)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;cursor:pointer;-webkit-tap-highlight-color:transparent}.section-title{font-size:var(--font-base);font-weight:700;display:flex;align-items:center;gap:var(--space-sm)}.section-toggle{color:var(--color-text-muted);font-size:var(--font-sm);transition:transform var(--transition-fast)}.section-toggle.collapsed{transform:rotate(-90deg)}.section-body{overflow:hidden;transition:max-height var(--transition-slow),opacity var(--transition-base);max-height:2000px;opacity:1}.section-body.collapsed{max-height:0;opacity:0}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);color:var(--color-text-muted)}.empty-state i{font-size:3rem;margin-bottom:var(--space-lg);opacity:.3}.empty-state p{font-size:var(--font-sm)}.list-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.list-item:active{transform:scale(.98);background:var(--color-surface-elevated)}.spinner{display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.spinner i{font-size:1.5rem;color:var(--color-primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.divider{height:1px;background:var(--color-border);margin:var(--space-lg) 0}.chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:4px 12px;background:var(--color-surface-elevated);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:500;color:var(--color-text-secondary)}.chip-active{background:var(--color-primary-soft);color:var(--color-primary)}.login-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);background:radial-gradient(ellipse at 50% 0%,rgba(255,215,0,.08) 0%,transparent 60%),var(--color-bg)}.login-logo{width:180px;margin-bottom:var(--space-2xl);filter:drop-shadow(0 0 30px rgba(255,215,0,.2));animation:scaleIn .6s both}.login-card{width:100%;max-width:360px;animation:slideUp .5s .2s both}.login-title{font-size:var(--font-2xl);font-weight:800;text-align:center;margin-bottom:var(--space-xs);background:linear-gradient(135deg,var(--color-primary),#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{text-align:center;font-size:var(--font-sm);color:var(--color-text-muted);margin-bottom:var(--space-2xl)}.login-select-wrapper{position:relative;margin-bottom:var(--space-lg)}.login-select{width:100%;padding:16px 20px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%23ffd700' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.login-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft);outline:none}.login-error{color:var(--color-danger);font-size:var(--font-sm);text-align:center;margin-bottom:var(--space-md);animation:slideUp var(--transition-fast) both}.login-footer{margin-top:var(--space-3xl);text-align:center;font-size:var(--font-xs);color:var(--color-text-muted);animation:fadeIn .8s .6s both}.view-header{margin-bottom:var(--space-lg)}.view-header-inner{display:flex;align-items:center;gap:var(--space-md)}.view-header-logo{height:72px;width:auto;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.view-header-center{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px}.view-header-date{position:relative;display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--font-sm);color:var(--color-text-secondary);cursor:pointer;text-transform:capitalize;-webkit-tap-highlight-color:transparent}.view-header-date input[type=date]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;color-scheme:dark}.view-header-title{font-size:var(--font-xl);font-weight:800;margin:0;line-height:1.2;text-align:center}.view-header-title i{font-size:.75em}.view-header-action{width:44px;height:44px;border-radius:50%;background:#fffdef;color:var(--color-bg);border:none;font-size:var(--font-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform var(--transition-fast),filter var(--transition-fast);box-shadow:0 2px 10px #ffd7004d}.view-header-action:active{transform:scale(.9);filter:brightness(.85)}.view-header-accent{height:2px;margin-left:80px;background:linear-gradient(90deg,#e91e8c,#ff6ec7,#e91e8c 80%);border-radius:2px;margin-right:50px}.mi-trabajo-greeting{margin-bottom:var(--space-xl)}.mi-trabajo-greeting h1{font-size:var(--font-xl);margin-bottom:var(--space-xs)}.mi-trabajo-greeting h1 span{color:var(--color-primary)}.mi-trabajo-fecha{font-size:var(--font-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-sm)}.compact-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;margin-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.header-left{display:flex;align-items:center;gap:var(--space-md);min-width:0}.header-logo{height:18px;width:auto}.compact-header h1,.compact-header h2{font-size:var(--font-md);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-header h1 span{color:var(--color-primary)}.date-selector-inline{position:relative;display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);margin-top:var(--space-xs);background:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all var(--transition-fast)}.date-selector-inline:active{transform:scale(.98);background:var(--color-surface)}.date-selector-inline i{color:var(--color-primary);font-size:var(--font-sm)}.date-selector-text{font-size:var(--font-sm);font-weight:600;color:var(--color-text);text-transform:capitalize}.date-selector-inline input[type=date]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;color-scheme:dark}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-bottom:var(--space-xl)}.stat-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);text-align:center;animation:slideUp var(--transition-slow) both}.stat-card:nth-child(1){animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-value{font-size:var(--font-2xl);font-weight:800;line-height:1;margin-bottom:var(--space-xs)}.stat-label{font-size:var(--font-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-bar{margin-top:var(--space-sm)}.conv-card{display:flex;align-items:stretch;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);overflow:hidden;animation:slideInRight var(--transition-slow) both;-webkit-tap-highlight-color:transparent}.conv-card:active{transform:scale(.98)}.conv-card-accent{width:4px;flex-shrink:0}.conv-card-accent.turno-manana{background:var(--color-warning)}.conv-card-accent.turno-tarde{background:var(--color-info)}.conv-card-accent.completada{background:var(--color-success)}.conv-card-body{flex:1;padding:var(--space-md) var(--space-lg);display:flex;align-items:center;gap:var(--space-md)}.conv-card-time{font-size:var(--font-sm);font-weight:700;color:var(--color-primary);white-space:nowrap;min-width:46px}.conv-card-info{flex:1;min-width:0}.conv-card-title{font-size:var(--font-sm);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-card-meta{font-size:var(--font-xs);color:var(--color-text-muted);display:flex;gap:var(--space-sm);margin-top:2px}.conv-card-check{color:var(--color-text-muted);font-size:var(--font-md);padding:var(--space-sm);cursor:pointer}.conv-card-check.checked{color:var(--color-success)}.convocatorias-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.fab{position:fixed;bottom:calc(var(--navbar-height) + var(--safe-bottom) + var(--space-lg));right:var(--space-lg);width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),#e6c200);color:var(--color-bg);border:none;font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg),var(--shadow-glow);cursor:pointer;z-index:100;transition:transform var(--transition-fast);animation:scaleIn var(--transition-slow) .5s both}.fab:active{transform:scale(.9)}.pieza-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);animation:slideUp var(--transition-slow) both;padding:8px}.pieza-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-sm)}.pieza-titulo{font-size:var(--font-base);font-weight:600;flex:1;padding-right:var(--space-sm)}.pieza-estado{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-xs);font-weight:600;padding:2px 10px;border-radius:var(--radius-full)}.pieza-estado.pendiente{background:var(--color-warning-soft);color:var(--color-warning)}.pieza-estado.en-proceso{background:var(--color-info-soft);color:var(--color-info)}.pieza-estado.completada{background:var(--color-success-soft);color:var(--color-success)}.pieza-asignados{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.chat-container{display:flex;flex-direction:column;height:calc(100dvh - var(--navbar-height) - var(--safe-bottom));padding:0;max-width:600px;margin:0 auto;width:100%}.chat-header{padding:calc(var(--safe-top) + var(--space-md)) var(--space-lg) var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-md)}.chat-header h2{font-size:var(--font-md)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.chat-bubble{max-width:80%;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--font-sm);animation:scaleIn var(--transition-fast) both;word-break:break-word}.chat-bubble.sent{align-self:flex-end;background:var(--color-primary);color:var(--color-bg);border-bottom-right-radius:var(--radius-sm)}.chat-bubble.received{align-self:flex-start;background:var(--color-card);border-bottom-left-radius:var(--radius-sm)}.chat-bubble-user{font-size:var(--font-xs);font-weight:700;color:var(--color-primary);margin-bottom:2px}.chat-bubble.sent .chat-bubble-user{color:#00000080}.chat-bubble-time{font-size:.65rem;opacity:.6;margin-top:4px;text-align:right}.chat-input-area{padding:var(--space-md) var(--space-lg);padding-bottom:calc(var(--safe-bottom) + var(--space-md));background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;gap:var(--space-sm)}.chat-input{flex:1;padding:var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-sm)}.chat-input:focus{border-color:var(--color-primary);outline:none}.chat-send-btn{width:42px;height:42px;border-radius:50%;background:var(--color-primary);color:var(--color-bg);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:transform var(--transition-fast)}.chat-send-btn:active{transform:scale(.9)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--navbar-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-around;z-index:1000;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-sm) var(--space-md);color:var(--color-text-muted);font-size:var(--font-xs);font-weight:500;text-decoration:none;transition:color var(--transition-fast);position:relative;-webkit-tap-highlight-color:transparent;cursor:pointer;border:none;background:none;font-family:var(--font-family)}.nav-item i{font-size:1.2rem;transition:transform var(--transition-fast)}.nav-item.active{color:var(--color-primary)}.nav-item.active i{transform:scale(1.15)}.nav-item.active:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:24px;height:3px;background:var(--color-primary);border-radius:0 0 var(--radius-full) var(--radius-full)}.panel-user-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-md)}.panel-user-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-sm);flex-shrink:0}.panel-user-info{flex:1;min-width:0}.panel-user-name{font-size:var(--font-sm);font-weight:600}.panel-user-stats{font-size:var(--font-xs);color:var(--color-text-muted);display:flex;gap:var(--space-md)}.date-picker{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-xs) var(--space-md)}.date-picker input[type=date]{background:transparent;border:none;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-sm);font-weight:500;padding:var(--space-xs);color-scheme:dark}.date-picker input[type=date]:focus{outline:none}.date-picker i{color:var(--color-primary);font-size:var(--font-sm)}.chat-layout,.chat-users-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-buscar{width:calc(100% - var(--space-lg) * 2);margin:var(--space-md) var(--space-lg);padding:var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-sm)}.chat-buscar:focus{border-color:var(--color-primary);outline:none}.chat-users-list{flex:1;overflow-y:auto;padding:0 var(--space-md)}.chat-user-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;position:relative}.chat-user-item:active{background:var(--color-surface-elevated)}.chat-user-item.chat-user-activo{background:var(--color-primary-soft)}.chat-user-avatar{width:42px;height:42px;border-radius:50%;background:var(--color-surface-elevated);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-sm);flex-shrink:0}.chat-user-info{flex:1;min-width:0}.chat-user-name{font-size:var(--font-sm);font-weight:600;color:var(--color-text)}.chat-user-preview{font-size:var(--font-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-user-time{font-size:.65rem;color:var(--color-text-muted);white-space:nowrap}.chat-user-badge{width:10px;height:10px;border-radius:50%;background:var(--color-primary);position:absolute;top:50%;right:var(--space-md);transform:translateY(-50%)}.chat-user-noleido .chat-user-name{color:var(--color-primary);font-weight:800}.chat-user-noleido .chat-user-preview{color:var(--color-text);font-weight:600}.chat-conv-panel{flex:1;flex-direction:column;overflow:hidden}.chat-conv-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border);font-weight:700;font-size:var(--font-md)}.chat-back-btn{background:none;border:none;color:var(--color-primary);font-size:1.2rem;cursor:pointer;padding:var(--space-sm);-webkit-tap-highlight-color:transparent}.chat-date-label{text-align:center;margin:var(--space-md) auto;padding:4px 12px;font-size:var(--font-xs);color:var(--color-text-muted);background:var(--color-surface-elevated);border-radius:var(--radius-full);width:fit-content}.pieza-card{cursor:pointer;-webkit-tap-highlight-color:transparent}.pieza-card:active{transform:scale(.98)}.conv-card-body{cursor:pointer}
