:root{--primary: #6366f1;--primary-light: #818cf8;--primary-dark: #4f46e5;--primary-rgb: 99, 102, 241;--secondary: #64748b;--secondary-hover: #475569;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-full: 9999px;--font-family: "Inter", system-ui, -apple-system, sans-serif;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}:root,[data-theme=dark]{--bg-dark: #0f172a;--bg-card: #1e293b;--bg-glass: rgba(30, 41, 59, .7);--bg-sidebar: #111827;--text-main: #f8fafc;--text-muted: #94a3b8;--text-inv: #0f172a;--border-color: rgba(255, 255, 255, .08);--input-bg: rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .2), 0 10px 10px -5px rgba(0, 0, 0, .1)}[data-theme=light]{--bg-dark: #f8fafc;--bg-card: #ffffff;--bg-glass: rgba(255, 255, 255, .8);--bg-sidebar: #ffffff;--text-main: #0f172a;--text-muted: #64748b;--text-inv: #ffffff;--border-color: #e2e8f0;--input-bg: #f1f5f9;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-family);line-height:1.5;font-weight:400;overflow:hidden}#app{width:100%;max-width:100vw;margin:0;padding:0;text-align:left;display:flex;justify-content:center;align-items:center;height:100vh}a{transition:all .25s}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.app-layout{display:flex;width:100vw;height:100vh;background-color:var(--bg-dark);flex-direction:row;overflow:hidden}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:64px;background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:1000;padding:0 var(--space-lg);align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm)}.sidebar{width:280px;min-width:280px;background-color:var(--bg-sidebar);display:flex;flex-direction:column;border-right:1px solid var(--border-color);padding:var(--space-lg);height:100vh;box-sizing:border-box;z-index:1100;transition:var(--transition)}.brand{font-size:1.75rem;font-weight:900;margin-bottom:var(--space-xl);color:var(--primary);display:flex;align-items:center;gap:var(--space-sm);letter-spacing:-.02em}.user-profile{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-xl);background:rgba(var(--primary-rgb),.05);border-radius:var(--radius-md);border:1px solid var(--border-color)}.avatar{width:42px;height:42px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}.info .name{display:block;font-size:.95rem;font-weight:700;color:var(--text-main)}.info .role{display:block;font-size:.75rem;color:var(--text-muted);font-weight:600}#logout-btn{background:none;font-size:.8rem;padding:0;color:var(--error);font-weight:600;margin-top:var(--space-xs);opacity:.8;transition:var(--transition)}#logout-btn:hover{opacity:1;text-decoration:underline}.nav-menu{flex:1;display:flex;flex-direction:column;gap:var(--space-sm);overflow-y:auto}.nav-item{text-decoration:none;color:var(--text-muted);padding:.85rem var(--space-md);border-radius:var(--radius-md);transition:var(--transition);font-weight:600;display:flex;align-items:center;gap:var(--space-md);font-size:.9rem}.nav-item:hover{background:#ffffff08;color:var(--text-main);transform:translate(4px)}.nav-item.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}.main-content{flex:1;padding:var(--space-xl);overflow-y:auto;height:100vh;box-sizing:border-box;scroll-behavior:smooth}.app-footer{position:fixed;bottom:0;right:0;left:280px;height:36px;background:var(--bg-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--text-muted);z-index:900;padding:0 var(--space-lg)}.theme-switcher{padding:var(--space-md);background:#0000001a;border-radius:var(--radius-md);margin-top:var(--space-md);display:flex;justify-content:space-between;align-items:center}@media(max-width:1024px){.sidebar{width:240px;min-width:240px}.app-footer{left:240px}}@media(max-width:768px){.mobile-header{display:flex}.sidebar{position:fixed;left:-100%;top:0;bottom:0;box-shadow:20px 0 50px #00000080}.sidebar.active{left:0}.main-content{padding:var(--space-md);padding-top:80px;padding-bottom:60px}.app-footer{left:0;height:auto;padding:var(--space-sm);text-align:center}}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:var(--space-lg);box-shadow:var(--shadow-md);transition:var(--transition)}[data-theme=dark] .card{background:var(--bg-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card:hover{box-shadow:var(--shadow-lg)}h1{font-size:2rem;font-weight:900;letter-spacing:-.03em;margin-bottom:var(--space-xs);color:var(--text-main)}h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text-main)}h3{font-size:1.1rem;font-weight:700;color:var(--text-main)}p{color:var(--text-muted);line-height:1.6}.btn-primary,.btn-secondary,.btn-icon,.btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-weight:600;font-size:.9rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px rgba(var(--primary-rgb),.25)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--primary-rgb),.35)}.btn-secondary{background:rgba(var(--primary-rgb),.1);color:var(--primary);border:1px solid rgba(var(--primary-rgb),.2)}.btn-secondary:hover{background:rgba(var(--primary-rgb),.15);transform:translateY(-2px)}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.full-width{width:100%}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-size:.85rem;font-weight:700;color:var(--text-muted);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em}input,select,textarea{width:100%;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);font-size:.95rem;transition:var(--transition);box-sizing:border-box}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);background:rgba(var(--primary-rgb),.05);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.1)}select option{background-color:var(--bg-card);color:var(--text-main)}.status-badge{padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.status-pendiente{background:#f59e0b26;color:#f59e0b}.status-visto{background:#3b82f626;color:#3b82f6}.status-proceso{background:#6366f126;color:#6366f1}.status-resuelta{background:#10b98126;color:#10b981}.status-en_revision{background:#6366f126;color:#6366f1}.status-rechazada{background:#ef444426;color:#ef4444}.status-incompleta{background:#f9731626;color:#f97316}.modal{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-content{animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.table-container{width:100%;overflow-x:auto;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-color)}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem}.data-table th{background:#0000000d;padding:1.25rem 1.5rem;text-align:left;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:2px solid var(--border-color);white-space:nowrap}[data-theme=dark] .data-table th{background:#ffffff05}.data-table td{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:rgba(var(--primary-rgb),.02)}.text-low-stock{color:var(--error);font-weight:800}.badge{padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:700}.btn-icon{width:32px;height:32px;padding:0;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:var(--transition)}.btn-icon:hover{background:var(--primary);color:#fff;transform:scale(1.1)}@media(max-width:768px){.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:800px}.data-table th,.data-table td{white-space:normal;padding:.75rem 1rem}}.view-header{margin-bottom:var(--space-xl)}.view-header h1{margin-bottom:var(--space-xs)}.responsive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.grid-requests{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-lg)}@media(max-width:1280px){.grid-requests{grid-template-columns:1fr}}.stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-lg)}.stat-value{font-size:2.25rem;font-weight:900;letter-spacing:-.05em;margin-top:var(--space-sm)}.form-row{display:flex;gap:var(--space-md);flex-wrap:wrap;align-items:flex-end}.form-row .form-group{flex:1;min-width:200px}@media(max-width:768px){.form-row{flex-direction:column;gap:var(--space-sm);align-items:stretch}.form-row .form-group{width:100%;min-width:unset}}.login-page-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top right,rgba(var(--primary-rgb),.1),transparent 40%),radial-gradient(circle at bottom left,rgba(6,182,212,.1),transparent 40%),var(--bg-dark);z-index:2000}.login-card{width:100%;max-width:400px;background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:3rem 2rem;box-shadow:0 25px 50px -12px #00000080;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary),#06b6d4)}.login-header{text-align:center;margin-bottom:2.5rem}.login-brand-icon{font-size:3rem;margin-bottom:1rem;display:inline-block;filter:drop-shadow(0 0 15px rgba(var(--primary-rgb),.4))}.login-header h1{font-size:2rem;font-weight:900;margin-bottom:.5rem;letter-spacing:-.03em}.login-header p{font-size:.9rem;color:var(--text-muted)}#login-btn{width:100%;padding:1rem;font-size:1rem;font-weight:700;letter-spacing:.05em;margin-top:1.5rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:none;box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}#login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(var(--primary-rgb),.4)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444;padding:.75rem;border-radius:var(--radius-md);margin-top:1.5rem;font-size:.85rem;text-align:center;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem}.chart-container{background:var(--bg-card);padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.toast-container{position:fixed;top:2rem;right:2rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast{background:var(--card-bg);color:var(--text-main);padding:1rem 1.5rem;border-radius:8px;box-shadow:0 10px 15px -3px #0006,0 4px 6px -2px #0003;border-left:4px solid var(--primary);display:flex;align-items:center;gap:.75rem;min-width:300px;max-width:450px;transform:translate(120%);transition:transform .3s cubic-bezier(.68,-.55,.265,1.55);pointer-events:auto}.toast.active{transform:translate(0)}.toast-success{border-left-color:#10b981}.toast-error{border-left-color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-icon{font-size:1.25rem}.toast-content{flex:1}.toast-title{font-weight:700;font-size:.9rem;display:block}.toast-message{font-size:.85rem;color:var(--text-muted)}.confirm-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000}.confirm-card{background:var(--card-bg);width:90%;max-width:400px;padding:2rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 25px 50px -12px #00000080;transform:scale(.9);transition:transform .2s ease}.confirm-card.active{transform:scale(1)}.confirm-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.confirm-text{color:var(--text-muted);font-size:.95rem;margin-bottom:2rem;line-height:1.5}.confirm-actions{display:flex;gap:1rem}.confirm-btn-yes{background:var(--error);color:#fff}.confirm-btn-no{background:var(--secondary);color:var(--text-main)}[data-theme=dark] .pdf-export-mode .card{background-color:#0b0f19!important;border:1px solid #1e293b!important;box-shadow:none!important}[data-theme=dark] .pdf-export-mode h1,[data-theme=dark] .pdf-export-mode h2,[data-theme=dark] .pdf-export-mode h3{color:#fff!important;font-weight:800!important;text-shadow:none!important}[data-theme=dark] .pdf-export-mode p,[data-theme=dark] .pdf-export-mode small,[data-theme=dark] .pdf-export-mode label,[data-theme=dark] .pdf-export-mode span:not(.stat-value):not(.status-badge){color:#f3f4f6!important}[data-theme=dark] .pdf-export-mode .stat-value{filter:brightness(1.5) saturate(1.2);font-weight:900!important;text-shadow:0 1px 2px rgba(0,0,0,.8)}[data-theme=dark] .pdf-export-mode .status-badge{color:inherit!important;border:1px solid currentColor!important;background:#111827!important}[data-theme=dark] .pdf-export-mode [style*=color]{opacity:1!important}.pdf-export-mode .card{box-shadow:none!important}
