@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}:root{--bg-main: #0b0f19;--bg-sidebar: #111827;--bg-card: #1f2937;--bg-hover: #374151;--border-color: #374151;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-light: rgba(139, 92, 246, .15);--cyan: #06b6d4;--red: #ef4444;--yellow: #f59e0b;--green: #10b981;--purple: #d946ef;--blue: #3b82f6;--font-family: "Inter", system-ui, -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:280px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:1.5rem 1rem;overflow-y:auto;flex-shrink:0}.mobile-header{display:none;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--bg-sidebar);border-bottom:1px solid var(--border-color)}.mobile-header-logo{display:flex;align-items:center;gap:.75rem}.mobile-header-logo h2{font-size:.9rem;font-weight:600;color:var(--text-primary)}.menu-btn{background:transparent;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}.logo{color:var(--accent);background:var(--accent-light);padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center}.sidebar-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.sidebar-header h2{font-size:1.1rem;font-weight:700;letter-spacing:.5px;color:var(--text-primary);line-height:1.2}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:2rem}.stat-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.25rem;transition:all .2s ease}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{background-color:var(--bg-hover);transform:translateY(-2px);border-color:#8b5cf680}.stat-number{font-size:1.25rem;font-weight:600}.stat-blue{color:var(--cyan)}.stat-red{color:var(--red)}.stat-yellow{color:var(--accent)}.stat-green{color:var(--green)}.stat-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.filter-section{margin-bottom:2rem}.section-title{font-size:.7rem;color:var(--text-muted);font-weight:600;letter-spacing:1px;margin-bottom:1rem;padding-left:.5rem}.filter-list{list-style:none;display:flex;flex-direction:column;gap:.25rem}.filter-item{display:flex;align-items:center;padding:.5rem;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.filter-item:hover{background-color:var(--bg-hover)}.filter-item.active{background-color:var(--bg-card);border:1px solid var(--border-color)}.filter-name{font-size:.8rem;color:var(--text-secondary);flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:1rem}.filter-item.active .filter-name{color:var(--accent);font-weight:500}.filter-count{font-size:.75rem;color:var(--text-muted);font-weight:600}.filter-item.active .filter-count{color:var(--text-primary)}.status-dot{width:8px;height:8px;border-radius:50%;margin-right:.75rem;flex-shrink:0}.dot-yellow{background-color:var(--yellow)}.dot-blue{background-color:var(--cyan)}.dot-purple{background-color:var(--purple)}.dot-red{background-color:var(--red)}.dot-green{background-color:var(--green)}.main-content{flex-grow:1;display:flex;flex-direction:column;padding:2rem;overflow-y:auto}.top-bar{margin-bottom:2rem;display:flex;gap:1rem}.search-container{display:flex;align-items:center;background-color:var(--bg-sidebar);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;width:100%;max-width:600px}.search-icon{color:var(--text-muted);width:18px;height:18px;margin-right:.75rem}.search-container input{background:transparent;border:none;color:var(--text-primary);font-family:inherit;font-size:.9rem;width:100%;outline:none}.search-container input::placeholder{color:var(--text-muted)}.btn-primary{background-color:var(--accent);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:background-color .2s ease,transform .1s ease;display:flex;align-items:center;gap:.5rem}.btn-primary:hover{background-color:var(--accent-hover)}.btn-primary:active{transform:scale(.98)}.table-container{background-color:var(--bg-sidebar);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;flex-grow:1;display:flex;flex-direction:column}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{font-size:.75rem;font-weight:600;color:var(--text-muted);padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table th svg{width:14px;height:14px;vertical-align:middle;margin-left:.25rem;cursor:pointer;display:inline-block}.data-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);font-size:.85rem;vertical-align:top}.data-table tbody tr{transition:background-color .2s ease}.data-table tbody tr:hover{background-color:var(--bg-hover)}.col-oficio{font-weight:600;color:var(--accent)}.col-fecha{color:var(--text-secondary)}.tema-title{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.tema-subtitle{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.director-info{display:flex;align-items:center;gap:.5rem}.director-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:#fff}.dir-op{background-color:var(--red)}.dir-tl{background-color:var(--purple)}.dir-om{background-color:var(--cyan)}.director-name{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.status-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;background-color:#ffffff0d;border:1px solid var(--border-color)}.pill-dot{width:6px;height:6px;border-radius:50%}.status-pendiente .pill-dot{background-color:var(--yellow)}.status-pendiente{color:var(--yellow);border-color:#f59e0b33;background:#f59e0b0d}.status-en-proceso .pill-dot{background-color:var(--cyan)}.status-en-proceso{color:var(--cyan);border-color:#06b6d433;background:#06b6d40d}.status-urgente .pill-dot{background-color:var(--red)}.status-urgente{color:var(--red);border-color:#ef444433;background:#ef44440d}.action-buttons{display:flex;gap:.5rem;opacity:.5;transition:opacity .2s}.data-table tbody tr:hover .action-buttons{opacity:1}.btn-icon{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background-color:var(--bg-card);color:var(--accent)}.btn-icon svg{width:16px;height:16px}.table-footer{padding:1rem 1.5rem;font-size:.8rem;color:var(--text-muted)}@media(max-width:1024px){.stats-grid{grid-template-columns:1fr}}@media(max-width:768px){.app-container{flex-direction:column}.hide-on-desktop{display:none!important}.mobile-header{display:flex}.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:50;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0);box-shadow:10px 0 25px #00000080}.sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;display:none}.sidebar-overlay.open{display:block}.main-content{padding:1rem}.top-bar{flex-direction:column;align-items:stretch}.btn-primary{justify-content:center}.table-container{overflow-x:hidden;background:transparent;border:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table thead{display:none}.data-table tr{margin-bottom:1rem;background-color:var(--bg-sidebar);border:1px solid var(--border-color);border-radius:12px;padding:.5rem 0}.data-table td{text-align:right;padding:.75rem 1rem;position:relative;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center;gap:1rem}.data-table td:last-child{border-bottom:none;justify-content:flex-end}.data-table td:before{content:attr(data-label);font-size:.65rem;text-transform:uppercase;color:var(--text-muted);font-weight:700;text-align:left;white-space:nowrap}.action-buttons{opacity:1;width:100%;justify-content:flex-end}.tema-title,.director-info{text-align:right}.director-info{justify-content:flex-end}}@keyframes spin{to{transform:rotate(360deg)}}.spin-icon{animation:spin 1s linear infinite;color:var(--accent)}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f1f5;position:relative;overflow:hidden;width:100vw}.login-wrapper:before{content:"";position:fixed;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(107,63,160,.03) 40%,rgba(107,63,160,.03) 60%,transparent 60%),linear-gradient(45deg,transparent 30%,rgba(26,46,74,.03) 30%,rgba(26,46,74,.03) 70%,transparent 70%),linear-gradient(90deg,transparent 20%,rgba(107,63,160,.02) 20%,rgba(107,63,160,.02) 80%,transparent 80%);z-index:0}.login-container{position:relative;z-index:1;width:100%;max-width:420px;padding:16px}.login-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px -5px #1a2e4a26;overflow:hidden}.login-card:before{content:"";display:block;height:5px;background:linear-gradient(90deg,#00a79d,#2c4a7c,#6b3fa0 40%,#e84393,#e74c3c,#f39c12,#2ecc71)}.login-card .card-body{padding:32px 32px 40px}.logo-wrapper{text-align:center;margin-bottom:24px}.logo-wrapper img{height:80px;width:auto;margin:0 auto;display:block}.login-title{text-align:center;font-size:22px;font-weight:800;color:#1a2e4a;margin-bottom:4px;letter-spacing:-.5px}.login-subtitle{text-align:center;font-size:13px;color:#8a94a6;margin-bottom:28px}.error-msg{background:#dc262633;border:1px solid #dc2626;color:#fca5a5;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:20px;text-align:center}.form-group-login{margin-bottom:16px}.form-label-login{display:block;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.form-input-login{width:100%;padding:12px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;color:#1f2937;background:#fafbfc;outline:none;transition:all .2s ease}.form-input-login:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf61a}.btn-login{width:100%;padding:14px;border:none;border-radius:10px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,#1a2e4a,#2c4a7c);cursor:pointer;transition:all .3s ease;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px}.btn-login:hover{background:linear-gradient(135deg,#2c4a7c,#6b3fa0);transform:translateY(-1px);box-shadow:0 6px 20px #1a2e4a4d}.footer-text{text-align:center;font-size:11px;color:var(--text-muted);margin-top:24px;padding:0 20px;line-height:1.5}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-container{background-color:var(--bg-sidebar);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-container form{display:flex;flex-direction:column;overflow:hidden;height:100%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);background-color:#ffffff05}.modal-header h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.btn-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.25rem;border-radius:4px;transition:all .2s}.btn-close:hover{color:var(--red);background-color:#ef44441a}.modal-body{padding:1.5rem;overflow-y:auto}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.form-control{width:100%;background-color:var(--bg-main);border:1px solid var(--border-color);border-radius:6px;padding:.75rem 1rem;color:var(--text-primary);font-family:inherit;font-size:.9rem;transition:border-color .2s;outline:none}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.form-control::placeholder{color:var(--text-muted)}select.form-control{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em;padding-right:2.5rem}.modal-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem;background-color:#ffffff05}.btn-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1.5rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background-color:var(--bg-hover)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
