:root{--color-primary: #2563eb;--color-secondary: #64748b;--color-accent: #2563eb;--bg-app: #f1f5f9;--bg-card: #ffffff;--bg-header: #4267B2;--bg-sidebar: #1e293b;--bg-input: #f8fafc;--bg-hover: rgba(0, 0, 0, .04);--bg-selected: rgba(37, 99, 235, .08);--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--text-on-primary: #ffffff;--text-on-dark: #e2e8f0;--color-success: #16a34a;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #0891b2;--status-available: #16a34a;--status-pending: #ea580c;--status-delivered: #2563eb;--status-broken: #dc2626;--border-light: #e2e8f0;--border-medium: #cbd5e1;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 15px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .12);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--font-family: "Segoe UI", system-ui, -apple-system, sans-serif;--font-size-xs: .75em;--font-size-sm: .85em;--font-size-base: 1em;--font-size-lg: 1.2em;--font-size-xl: 1.5em;--font-size-2xl: 2em;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px)}[data-theme=dark]{--bg-app: #0f172a;--bg-card: #1e293b;--bg-input: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-light: #334155;--border-medium: #475569;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4)}.btn-primary{background:var(--color-primary);color:var(--text-on-primary);border:none;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.btn-primary:hover{opacity:.9}.btn-success{background:var(--color-success);color:var(--text-on-primary);border:none;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.btn-success:hover{opacity:.9}.btn-danger{background:var(--color-error);color:var(--text-on-primary);border:none;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.btn-danger:hover{opacity:.9}.btn-warning{background:var(--color-warning);color:var(--text-on-primary);border:none;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.btn-warning:hover{opacity:.9}.badge-success{background:#16a34a1f;color:var(--color-success);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.badge-warning{background:#f59e0b1f;color:var(--color-warning);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.badge-danger{background:#ef44441f;color:var(--color-error);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.badge-info{background:#0891b21f;color:var(--color-info);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.card-header{padding:var(--space-md);border-bottom:1px solid var(--border-light);font-weight:600}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--text-primary, #1e293b);background-color:var(--bg-app);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,select,textarea{font-size:16px!important}body{overflow-x:hidden;margin:0;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch}#root{padding-bottom:0;min-height:100vh;min-height:100dvh}@media(max-width:768px){.app-shell{flex-direction:column!important}.app-content{flex:1 1 auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;padding-bottom:10px!important}.app-content[data-seccion-actual=PERSONAL]{overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:0!important}#root{padding-bottom:0!important}}input,textarea,[contenteditable=true]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--bg-card, #fff);color:var(--text-primary, #1e293b);padding:var(--space-lg, 24px);border-radius:var(--radius-md, 12px);min-width:360px;width:auto;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.form-group{margin-bottom:var(--space-md, 16px)}.form-label{display:block;font-weight:600;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #64748b);margin-bottom:5px}.form-input,.form-select,.form-textarea{width:100%;padding:10px;border:1px solid var(--border-medium, #cbd5e1);border-radius:var(--radius-sm, 6px);box-sizing:border-box}.form-row{display:flex;gap:var(--space-md, 16px)}.modal-footer{display:flex;gap:var(--space-sm, 8px);margin-top:var(--space-lg, 24px);padding-top:var(--space-md, 16px);border-top:1px solid var(--border-light, #e2e8f0);justify-content:flex-end}.btn-cancel{background:transparent;color:var(--text-secondary, #64748b);border:1px solid var(--border-medium, #cbd5e1);padding:8px 20px;border-radius:var(--radius-sm, 6px);cursor:pointer;font-weight:600;font-size:.85em;transition:background .15s}.btn-cancel:hover{background:#f1f5f9;color:var(--text-primary, #1e293b)}.btn-confirm{background:var(--color-primary, #2563eb);color:var(--text-on-primary, #fff);border:none;padding:8px 20px;border-radius:var(--radius-sm, 6px);cursor:pointer;font-weight:600;font-size:.85em;transition:opacity .15s}.btn-confirm:hover{opacity:.9}.mod-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}.mod-title{margin:0;font-size:1.3em;font-weight:800;color:var(--text-primary, #1e293b)}.mod-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mod-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.mod-search{flex:1;min-width:160px;padding:7px 12px;border-radius:8px;border:1px solid var(--border-light, #e2e8f0);font-size:.85em;box-sizing:border-box}.mod-filter{padding:6px 12px;border-radius:8px;border:1px solid var(--border-light, #e2e8f0);font-size:.85em;cursor:pointer;background:#fff}.btn-cta{padding:8px 16px;border-radius:8px;border:none;background:var(--color-success, #16a34a);color:#fff;cursor:pointer;font-weight:700;font-size:.88em;transition:background .15s,transform .1s;white-space:nowrap}.btn-cta:hover{background:#15803d;transform:translateY(-1px)}.btn-cta:active{transform:translateY(0)}.btn-secondary{padding:6px 14px;border-radius:6px;border:1px solid var(--border-light, #e2e8f0);background:var(--bg-input, #f8fafc);color:var(--text-secondary, #64748b);cursor:pointer;font-weight:600;font-size:.85em;transition:background .15s,border-color .15s;white-space:nowrap}.btn-secondary:hover{background:#e2e8f0;border-color:#cbd5e1}.btn-accent{padding:6px 14px;border-radius:6px;border:1px solid #fcd34d;background:#fef3c7;color:#92400e;cursor:pointer;font-weight:700;font-size:.85em;transition:background .15s;white-space:nowrap}.btn-accent:hover{background:#fde68a}.btn-tab{padding:5px 12px;border-radius:6px;border:1px solid var(--border-light, #e2e8f0);background:#fff;color:var(--text-secondary, #64748b);cursor:pointer;font-weight:600;font-size:.82em;transition:all .15s}.btn-tab.active,.btn-tab:hover{background:var(--color-primary, #2563eb);color:var(--text-on-primary, #fff);border-color:var(--color-primary, #2563eb)}.mod-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.78em;font-weight:700;white-space:nowrap}.mod-badge--success{background:#dcfce7;color:#166534}.mod-badge--error{background:#fee2e2;color:#991b1b}.mod-badge--warning{background:#fef3c7;color:#92400e}.mod-badge--info{background:#dbeafe;color:#1e40af}.mod-badge--muted{background:#f1f5f9;color:#64748b}.mod-loading{text-align:center;padding:40px 20px;color:var(--text-muted, #94a3b8);font-size:.95em}.mod-empty{text-align:center;padding:40px 20px;color:var(--text-muted, #94a3b8);border:2px dashed var(--border-light, #e2e8f0);border-radius:10px;font-size:.92em;line-height:1.6}.mod-empty strong{color:var(--text-secondary, #64748b)}.badge{font-size:.72em;padding:2px 8px;border-radius:5px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;line-height:1.4}.badge-success{background:#f0fdf4;color:#16a34a;border:1px solid rgba(187,247,208,.3)}.badge-warning{background:#fffbeb;color:#d97706;border:1px solid rgba(252,211,77,.3)}.badge-error{background:#fef2f2;color:#dc2626;border:1px solid rgba(254,202,202,.3)}.badge-info{background:#eff6ff;color:#2563eb;border:1px solid rgba(191,219,254,.3)}.badge-muted{background:#f1f5f9;color:#64748b;border:1px solid rgba(226,232,240,.3)}.badge-purple{background:#faf5ff;color:#7c3aed;border:1px solid rgba(221,214,254,.3)}.badge-orange{background:#fff7ed;color:#ea580c;border:1px solid rgba(254,215,170,.3)}.row-hover{transition:background .1s,box-shadow .1s;cursor:pointer}.row-hover:hover{background:#f8fafc!important}.row-inactive{opacity:.6;background:#f8f8f8!important}.btn-icon-sm{border:none;background:none;cursor:pointer;font-size:.85em;padding:4px 6px;border-radius:4px;transition:background .1s}.btn-icon-sm:hover{background:#f1f5f9}.modal-footer-std{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #f3f4f6}.btn-cancel-std{padding:8px 16px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-weight:600;font-size:.85em;color:#64748b;transition:all .15s}.btn-cancel-std:hover{background:#f8fafc;border-color:#cbd5e1}.btn-save-std{padding:8px 20px;border-radius:8px;border:none;background:var(--color-primary, #2563eb);color:var(--text-on-primary, #fff);cursor:pointer;font-weight:700;font-size:.85em;transition:opacity .15s}.btn-save-std:hover{opacity:.9}.btn-save-std:disabled{opacity:.5;cursor:not-allowed}.btn-danger-std{padding:6px 14px;border-radius:6px;border:1px solid #fca5a5;background:#fff;color:#dc2626;cursor:pointer;font-weight:600;font-size:.8em;display:inline-flex;align-items:center;gap:4px;transition:all .15s}.btn-danger-std:hover{background:#fef2f2}.field-label{display:block;font-size:.78em;font-weight:600;margin-bottom:4px;color:var(--text-secondary, #64748b)}.field-input{width:100%;padding:8px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:.9em;box-sizing:border-box}.feedback-success{padding:8px 12px;border-radius:8px;background:#f0fdf4;border:1px solid #86efac;color:#166534;font-size:.85em;font-weight:600}.feedback-error{padding:8px 12px;border-radius:8px;background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;font-size:.85em;font-weight:600}.feedback-warn{padding:8px 12px;border-radius:8px;background:#fffbeb;border:1px solid #fcd34d;color:#92400e;font-size:.85em;font-weight:600}.feedback-info{padding:8px 12px;border-radius:8px;background:#eff6ff;border:1px solid #93c5fd;color:#1e40af;font-size:.85em;font-weight:600}.confirm-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:11000;animation:confirmFadeIn .15s ease-out}.confirm-card{background:var(--bg-card, #ffffff);border-radius:14px;width:92%;max-width:420px;box-shadow:0 20px 50px #00000040;overflow:hidden;animation:confirmSlideUp .2s ease-out}.confirm-header{padding:18px 22px 0;text-align:center}.confirm-icon{font-size:2.4em;line-height:1;margin-bottom:6px}.confirm-title{font-size:1.05em;font-weight:800;color:var(--text-primary, #1e293b);margin:0 0 4px}.confirm-message{padding:10px 22px 18px;font-size:.88em;line-height:1.5;color:var(--text-secondary, #64748b);text-align:center;white-space:pre-line}.confirm-footer{display:flex;gap:8px;padding:0 18px 18px}.confirm-btn{flex:1;padding:11px 16px;border:none;border-radius:10px;font-size:.88em;font-weight:700;cursor:pointer;transition:all .15s ease}.confirm-btn:active{transform:scale(.97)}.confirm-btn-cancel{background:var(--border-light, #e2e8f0);color:var(--text-primary, #334155)}.confirm-btn-cancel:hover{background:#cbd5e1}.confirm-btn-ok{background:var(--color-primary, #2563eb);color:#fff}.confirm-btn-ok:hover{opacity:.9}.confirm-btn-danger{background:var(--color-error, #dc2626);color:#fff}.confirm-btn-danger:hover{opacity:.9}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.dev-error-fab{position:fixed;bottom:80px;right:20px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 15px #ee5a2466;z-index:9999;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.dev-error-fab:hover{transform:scale(1.1);box-shadow:0 6px 20px #ee5a2480}.dev-error-badge{position:absolute;top:-5px;right:-5px;background:red;color:#fff;font-size:12px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.dev-error-panel{position:fixed;top:0;right:0;width:450px;height:100vh;background:linear-gradient(180deg,#1a1a2e,#16213e);color:#fff;z-index:10000;display:flex;flex-direction:column;box-shadow:-5px 0 30px #00000080;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.dev-error-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#ff6b6b33;border-bottom:1px solid rgba(255,107,107,.3)}.dev-error-header h3{margin:0;font-size:18px}.dev-error-header button{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;opacity:.7}.dev-error-header button:hover{opacity:1}.dev-error-filters{display:flex;gap:10px;padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.dev-error-filters button{flex:1;padding:8px 12px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#aaa;border-radius:8px;cursor:pointer;font-size:12px;transition:all .2s}.dev-error-filters button:hover{background:#ffffff1a;color:#fff}.dev-error-filters button.active{background:#ff6b6b4d;border-color:#ff6b6b;color:#ff6b6b}.dev-error-list{flex:1;overflow-y:auto;padding:10px}.no-errors{text-align:center;padding:40px;color:#4ecdc4;font-size:18px}.dev-error-item{background:#ffffff0d;border-radius:10px;margin-bottom:10px;overflow:hidden;border-left:4px solid #ff6b6b;transition:all .2s}.dev-error-item.resolved{border-left-color:#4ecdc4;opacity:.7}.dev-error-item:hover{background:#ffffff14}.dev-error-summary{display:flex;align-items:center;padding:12px 15px;cursor:pointer;gap:10px}.error-icon{font-size:14px}.error-message{flex:1;font-size:13px;color:#ddd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-time{font-size:11px;color:#888;white-space:nowrap}.dev-error-details{padding:15px;background:#0000004d;border-top:1px solid rgba(255,255,255,.1);font-size:12px}.dev-error-details p{margin:8px 0}.dev-error-details strong{color:#ff6b6b}.dev-error-details pre{background:#0006;padding:10px;border-radius:6px;overflow-x:auto;font-size:11px;color:#aaa;max-height:150px;overflow-y:auto}.dev-error-actions{display:flex;gap:10px;margin-top:15px}.dev-error-actions button{flex:1;padding:10px;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.btn-resolve{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.btn-resolve:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4ecdc466}.btn-delete{background:#ff6b6b33;color:#ff6b6b;border:1px solid rgba(255,107,107,.3)!important}.btn-delete:hover{background:#ff6b6b4d}@media(max-width:500px){.dev-error-panel{width:100%}.dev-error-fab{bottom:20px;right:10px}}
