@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Outfit:wght@500;600;700&display=swap";:root{--color-bg-base:#0b0c10;--color-surface-glass:#1f283399;--color-primary:#45a29e;--color-primary-hover:#66fcf1;--color-text-primary:#c5c6c7;--color-text-secondary:#8b8c8d;--color-danger:#f23d5e;--color-danger-hover:#ff4d6d;--color-border:#ffffff1a;--font-display:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--sidebar-width:250px;--sidebar-width-collapsed:80px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:#fff}button{font-family:var(--font-body);cursor:pointer;border-radius:var(--border-radius-sm);border:none;transition:all .2s ease-in-out}.glass-panel{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--border-radius-md)}.ambient-glow{z-index:-1;pointer-events:none;background:radial-gradient(circle,#45a29e26 0%,#0b0c1000 70%);width:600px;height:300px;animation:8s infinite alternate pulse-glow;position:absolute;top:-100px;left:50%;transform:translate(-50%)}@keyframes pulse-glow{0%{opacity:.6;transform:translate(-50%)scale(1)}to{opacity:1;transform:translate(-50%)scale(1.1)}}.glass-sidebar{flex-direction:column;height:calc(100vh - 2rem);margin:1rem 0 1rem 1rem;padding:1.5rem;display:flex}.sidebar-header{align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.sidebar-header h2{margin:0;font-size:1.25rem}.sidebar-nav{flex-direction:column;flex-grow:1;gap:.5rem;display:flex}.nav-item{border-radius:var(--border-radius-sm);color:var(--color-text-primary);align-items:center;gap:1rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover,.nav-item.active{color:var(--color-primary-hover);background:#45a29e1a}.sidebar-footer{margin-top:auto}.logout-btn{width:100%;color:var(--color-danger);background:0 0;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:1rem;display:flex}.logout-btn:hover{color:var(--color-danger-hover);background:#f23d5e1a}.main-layout{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}.content-area{height:100vh;padding:2rem;position:relative;overflow:hidden auto}.login-container{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-card{flex-direction:column;gap:2rem;width:100%;max-width:400px;padding:3rem 2rem;display:flex}.login-header{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.login-header h1{font-size:1.5rem}.login-header p{color:var(--color-text-secondary);font-size:.875rem}.error-message{color:var(--color-danger);border-radius:var(--border-radius-sm);text-align:center;background:#f23d5e1a;border:1px solid #f23d5e4d;padding:1rem;font-size:.875rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-text-secondary);font-size:.875rem}.form-group input{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-family:var(--font-body);background:#0003;padding:.75rem 1rem;transition:border-color .2s}.form-group input:focus{border-color:var(--color-primary);outline:none}.login-submit{background:var(--color-primary);color:var(--color-bg-base);margin-top:.5rem;padding:.875rem;font-weight:600}.login-submit:hover:not(:disabled){background:var(--color-primary-hover)}.login-submit:disabled{opacity:.7;cursor:not-allowed}.table-container{border-radius:var(--border-radius-md);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);padding:1rem 1.5rem}.data-table th{font-family:var(--font-display);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;background:#0003;font-size:.875rem;font-weight:600}.data-table tbody tr{transition:background-color .2s}.data-table tbody tr:hover{background-color:#ffffff08}.data-table td{color:var(--color-text-primary);font-size:.95rem}.empty-state{text-align:center;color:var(--color-text-secondary);font-style:italic;padding:3rem!important}.loading-state{text-align:center;color:var(--color-text-secondary);padding:3rem;font-style:italic}.error-state{text-align:center;color:var(--color-text-secondary);padding:2rem}.error-state button{background:var(--color-accent);border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;border:none;margin-top:1rem;padding:.5rem 1.5rem}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1rem;padding:1rem 1.5rem;display:flex}.pagination-info{color:var(--color-text-secondary);font-size:.875rem}.pagination-size{align-items:center;gap:.5rem;display:flex}.pagination-size label{color:var(--color-text-secondary);font-size:.875rem}.pagination-size select{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-primary);cursor:pointer;background:#ffffff0d;padding:.4rem .6rem;font-size:.875rem}.pagination-size select:focus{border-color:var(--color-accent);outline:none}.pagination-controls{align-items:center;gap:.75rem;display:flex}.pagination-controls button{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-primary);cursor:pointer;background:#ffffff0d;padding:.4rem .75rem;transition:background-color .2s}.pagination-controls button:hover:not(:disabled){background:#ffffff1a}.pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.pagination-page{color:var(--color-text-primary);text-align:center;min-width:4rem;font-size:.9rem}.modal-card{flex-direction:column;gap:1.5rem;width:100%;max-width:450px;padding:2rem;display:flex;position:relative}.modal-close{color:var(--color-text-secondary);background:0 0;padding:.25rem;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--color-text-primary)}.modal-header{align-items:center;gap:1rem;display:flex}.modal-header h2{margin:0;font-size:1.25rem}.modal-body p{color:var(--color-text-secondary);line-height:1.5}.modal-footer{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.btn-cancel,.btn-confirm{padding:.75rem 1.25rem;font-weight:500}.btn-cancel{color:var(--color-text-primary);border:1px solid var(--color-border);background:0 0}.btn-cancel:hover{background:#ffffff1a}.btn-confirm.primary{background:var(--color-primary);color:var(--color-bg-base)}.btn-confirm.primary:hover{background:var(--color-primary-hover)}.btn-confirm.danger{background:var(--color-danger);color:#fff}.btn-confirm.danger:hover{background:var(--color-danger-hover)}.user-form-modal{max-width:560px}.user-form{flex-direction:column;gap:1.5rem;display:flex}.user-form .form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.user-form .form-group{flex-direction:column;gap:.4rem;display:flex}.user-form .form-group label{color:var(--color-text-secondary);font-size:.875rem}@media (width<=600px){.user-form .form-grid{grid-template-columns:1fr}}.view-container{flex-direction:column;gap:2rem;display:flex}.view-header h1{margin-bottom:.5rem;font-size:2rem}.view-header p{color:var(--color-text-secondary)}.view-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.filtro-estado{align-items:center;gap:.5rem;display:flex}.filtro-estado label{color:var(--color-text-secondary);font-size:.875rem}.filtro-estado select{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-primary);cursor:pointer;background:#ffffff0d;padding:.4rem .6rem;font-size:.875rem}.filtro-estado select:focus{border-color:var(--color-accent);outline:none}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.status-active{color:#22c55e;background:#22c55e33}.status-past-due{color:#eab308;background:#eab30833}.status-canceled{color:#ef4444;background:#ef444433}.status-incomplete{color:#9ca3af;background:#9ca3af33}.status-trialing{color:#3b82f6;background:#3b82f633}.status-invitado{color:#a855f7;background:#a855f733}.btn-add{background:var(--color-primary);color:var(--color-bg-base);align-items:center;gap:.5rem;margin-left:auto;padding:.6rem 1.25rem;font-weight:600;display:flex}.btn-add:hover{background:var(--color-primary-hover)}.view-container .action-buttons{gap:.5rem;display:flex}.view-container .icon-btn{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;background:#ffffff0d;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:flex}.view-container .icon-btn:hover{color:var(--color-text-primary);background:#ffffff1a}.view-container .icon-btn.delete:hover{color:var(--color-danger);border-color:var(--color-danger);background:#f23d5e1a}.colores-container{align-items:center;gap:.5rem;display:flex}.color-circle{cursor:default;border:2px solid #fff3;border-radius:50%;width:1.5rem;height:1.5rem}.config-panel{max-width:800px;padding:2rem}.config-panel h2{color:var(--color-primary);margin-bottom:.5rem;font-size:1.25rem}.panel-desc{color:var(--color-text-secondary);margin-bottom:2rem;font-size:.9rem}.unsaved-warning{color:#f2a93d;border-radius:var(--border-radius-sm);background:#f2a93d26;border:1px solid #f2a93d4d;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.config-form{flex-direction:column;gap:1.5rem;display:flex}.form-row{gap:2rem;display:flex}.form-row .form-group{flex:1}.config-input{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);width:100%;color:var(--color-text-primary);font-family:var(--font-body);background:#0003;padding:.75rem 1rem;transition:border-color .2s}.config-input:focus{border-color:var(--color-primary);outline:none}.config-input option{background:var(--color-bg-base);color:var(--color-text-primary)}.btn-primary{background:var(--color-primary);color:var(--color-bg-base);align-self:flex-start;margin-top:1rem;padding:.75rem 1.5rem;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.status-message{border-radius:var(--border-radius-sm);padding:1rem;font-size:.9rem}.status-message.success{color:var(--color-primary);background:#45a29e1a;border:1px solid #45a29e4d}.status-message.error{color:var(--color-danger);background:#f23d5e1a;border:1px solid #f23d5e4d}.loading-text{color:var(--color-text-secondary);font-style:italic}.panel-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.panel-header-row .panel-desc{margin-bottom:0}.btn-sm{white-space:nowrap;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.estado-form{border-radius:var(--border-radius-sm);background:#00000014;flex-direction:column;gap:1rem;margin-top:1rem;padding:1.5rem;display:flex}.config-textarea{resize:vertical;min-height:60px;font-family:var(--font-body)}.form-actions{gap:.75rem;display:flex}.btn-cancel{border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:var(--border-radius-sm);cursor:pointer;background:0 0;padding:.75rem 1.5rem;font-weight:500;transition:all .2s}.btn-cancel:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.estados-table-wrapper{margin-top:1.5rem;overflow-x:auto}.estados-table{border-collapse:collapse;width:100%;font-size:.85rem}.estados-table th{text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:.6rem .75rem;font-size:.75rem;font-weight:600}.estados-table td{vertical-align:middle;border-bottom:1px solid #ffffff0d;padding:.6rem .75rem}.estados-table code{background:#ffffff0f;border-radius:3px;padding:.15rem .4rem;font-size:.8rem}.td-desc{white-space:nowrap;text-overflow:ellipsis;max-width:250px;color:var(--color-text-secondary);overflow:hidden}@media (width<=768px){.panel-header-row{flex-direction:column}.form-row{flex-direction:column;gap:1rem}.td-desc{display:none}}.color-preview-circle{border:1px solid #fff3;border-radius:50%;width:24px;height:24px;display:inline-block}.color-picker{cursor:pointer;width:50px;height:42px;padding:0}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border-radius:var(--border-radius-sm);border:none}.inventario-layout{grid-template-columns:2fr 1fr;align-items:start;gap:2rem;display:grid}.action-buttons{gap:.5rem;display:flex}.icon-btn{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;background:#ffffff0d;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:flex}.icon-btn:hover{color:var(--color-text-primary);background:#ffffff1a}.icon-btn.edit:hover{color:var(--color-primary);border-color:var(--color-primary);background:#45a29e1a}.icon-btn.delete:hover{color:var(--color-danger);border-color:var(--color-danger);background:#f23d5e1a}.inventario-form-panel{flex-direction:column;gap:1.5rem;padding:2rem;display:flex;position:sticky;top:2rem}.panel-header{align-items:center;gap:.75rem;display:flex}.panel-header h2{margin:0;font-size:1.25rem}.form-actions{gap:1rem;margin-top:1rem;display:flex}.form-actions .btn-primary{flex:1;margin-top:0}.form-actions .btn-cancel{margin-top:0;padding:.75rem 1.25rem}@media (width<=1200px){.inventario-layout{grid-template-columns:1fr}.inventario-form-panel{position:static}}.color-image-preview{object-fit:cover;border:1px solid var(--color-border);border-radius:4px;width:40px;height:40px}.color-image-placeholder{border:1px dashed var(--color-border);width:40px;height:40px;color:var(--color-text-muted);background:#ffffff08;border-radius:4px;justify-content:center;align-items:center;display:flex}.image-upload-area{flex-direction:column;gap:.75rem;display:flex}.image-dropzone{border:2px dashed var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;transition:all .2s;display:flex}.image-dropzone:hover{border-color:var(--color-primary);color:var(--color-primary);background:#45a29e0d}.hidden-file-input{display:none}.image-preview-container{width:100%;max-width:200px;position:relative}.image-preview{border-radius:var(--border-radius-sm);border:1px solid var(--color-border);width:100%;height:auto}.image-remove-btn{background:var(--color-danger);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:transform .2s;display:flex;position:absolute;top:-8px;right:-8px}.image-remove-btn:hover{transform:scale(1.1)}.btn-text-danger{color:var(--color-danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.btn-text-danger:hover{color:#ff6b8a}.upload-status{color:var(--color-primary);margin:0;font-size:.8rem}.avatares-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.avatar-card{background:var(--color-surface-glass);border:1px solid #ffffff0f;border-radius:8px;transition:border-color .2s;overflow:hidden}.avatar-card:hover{border-color:var(--color-primary)}.avatar-card__image{aspect-ratio:1;background:#ffffff08;width:100%;overflow:hidden}.avatar-card__image img{object-fit:cover;width:100%;height:100%}.avatar-card__info{justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.avatar-card__name{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:80px;font-size:.72rem;overflow:hidden}.avatar-card__delete{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:color .2s}.avatar-card__delete:hover{color:#e63946}.avatar-card__confirm{gap:4px;display:flex}.confirm-yes,.confirm-no{cursor:pointer;border:none;border-radius:3px;padding:2px 8px;font-size:.7rem;font-weight:600}.confirm-yes{color:#fff;background:#e63946}.confirm-no{color:var(--color-text-secondary);background:#ffffff1a}.upload-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;transition:opacity .2s;display:flex}.upload-btn:hover{opacity:.85}.empty-state{color:var(--color-text-muted);flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.custom-calendar-wrapper{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:20px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-header h2{text-transform:capitalize;margin:0;font-size:1.5rem;font-weight:600}.nav-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .3s,transform .2s;display:flex}.nav-btn:hover{background:#fff3;transform:scale(1.05)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.calendar-day-name{text-align:center;color:#fff9;padding-bottom:10px;font-weight:500}.calendar-cell{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;min-height:100px;padding:8px;transition:all .2s;display:flex}.calendar-cell:hover:not(.other-month){background:#ffffff14;border-color:#fff3}.calendar-cell.other-month{opacity:.3;cursor:default}.calendar-cell.today{background:#646cff1a;border-color:#646cff}.day-number{margin-bottom:5px;font-size:.9rem;font-weight:500}.today .day-number{color:#646cff;font-weight:700}.day-events{flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.day-events::-webkit-scrollbar{width:4px}.day-events::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:4px}.event-pill{color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#646cffcc;border-radius:4px;padding:4px 8px;font-size:.75rem;transition:transform .1s;overflow:hidden}.event-pill:hover{background:#646cff;transform:scale(1.02)}.events-page{padding:24px}.page-header{margin-bottom:30px}.page-header h1{color:#fff;margin-bottom:8px;font-size:2rem}.page-header p{color:#ffffffb3}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#1a1a2e;border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:500px;padding:24px;box-shadow:0 25px 50px -12px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{color:#fff;margin:0;font-size:1.25rem}.close-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.close-btn:hover{color:#fff;background:#ffffff1a}.event-form .form-group{margin-bottom:16px}.event-form .form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.event-form label{color:#fffc;margin-bottom:8px;font-size:.875rem;display:block}.event-form input,.event-form textarea{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;transition:border-color .2s}.event-form input:focus,.event-form textarea:focus{border-color:#646cff;outline:none}.submit-btn{color:#fff;cursor:pointer;background:#646cff;border:none;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-size:1rem;font-weight:600;transition:background .2s}.submit-btn:hover{background:#747bff}
