:root{--primary: #1a1a2e;--primary-light: #16213e;--secondary: #3498db;--accent: #e74c3c;--success: #2ecc71;--warning: #f39c12;--text: #2c3e50;--text-light: #7f8c8d;--bg: #f8f9fa;--bg-card: #ffffff;--border: #e9ecef;--shadow: 0 4px 20px rgba(0, 0, 0, .08);--shadow-hover: 0 8px 30px rgba(0, 0, 0, .12);--radius: 12px;--radius-sm: 8px;--transition: all .3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #1a1a2e4d;position:sticky;top:0;z-index:1000}.header-brand{display:flex;align-items:center;gap:1rem}.header-logo{height:45px;width:auto;object-fit:contain}.header h1{color:#fff;font-size:1.4rem;font-weight:600;letter-spacing:.5px}.user-info{display:flex;align-items:center;gap:1.5rem}.user-info>span{color:#ffffffe6;font-size:.9rem;font-weight:500}.header-buttons{display:flex;gap:.75rem}button,.btn{padding:.6rem 1.2rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem}.nav-btn{background:#ffffff26;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-btn:hover{background:#ffffff40;transform:translateY(-2px)}.logout-btn{background:var(--accent);color:#fff}.logout-btn:hover{background:#c0392b;transform:translateY(-2px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow)}.main{padding:2rem;max-width:1400px;margin:0 auto}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;transition:var(--transition)}.card:hover{box-shadow:var(--shadow-hover)}.search-bar{margin-bottom:2rem}.search-input{width:100%;padding:1rem 1.5rem;border:2px solid var(--border);border-radius:var(--radius);font-size:1rem;transition:var(--transition);background:var(--bg-card)}.search-input:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 4px #3498db1a}.expedientes-list{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.expedientes-list h2{padding:1.5rem 1.5rem .5rem;color:var(--primary);font-size:1.3rem}.expedientes-list table{width:100%;border-collapse:collapse}.expedientes-list thead{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.expedientes-list th{padding:1rem 1.5rem;text-align:left;font-weight:600;color:var(--text-light);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.expedientes-list td{padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.expedientes-list tbody tr{transition:var(--transition)}.expedientes-list tbody tr:hover{background:#3498db0d}.badge{padding:.3rem .6rem;border-radius:20px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-finalizado{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.badge-proceso{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.badge-dinamico{padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.badge-default{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff}.cell-actions{display:flex;gap:.5rem}.btn-action{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;border:none;transition:var(--transition)}.btn-view{background:var(--secondary);color:#fff}.btn-view:hover{background:#2980b9;transform:translateY(-2px)}.btn-download{background:var(--accent)!important;color:#fff!important}.btn-download:hover{background:#c0392b!important;transform:translateY(-2px);box-shadow:0 4px 15px #e74c3c66}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text);font-weight:500}.form-group input{width:100%;padding:1rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:var(--transition)}.form-group input:focus{outline:none;border-color:var(--secondary)}.error{background:#e74c3c1a;color:var(--accent);padding:.75rem;border-radius:var(--radius-sm);text-align:center;margin-bottom:1rem;font-size:.9rem}@media (max-width: 768px){.header{flex-direction:column;gap:1rem;padding:1rem}.header-buttons{flex-wrap:wrap;justify-content:center}.main{padding:1rem}.expedientes-list th,.expedientes-list td{padding:.75rem;font-size:.85rem}.cell-actions{flex-direction:column;gap:.25rem}.login-box{padding:2rem}}.admin-page{min-height:100vh;background:var(--bg)}.admin-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);padding:1.5rem 2rem;display:flex;align-items:center;box-shadow:0 4px 20px #1a1a2e33}.admin-header .header-brand{display:flex;align-items:center;gap:1rem}.admin-header .header-logo{height:45px}.admin-header .back-btn{background:#ffffff26;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;margin-bottom:.25rem}.admin-header h1{color:#fff;font-size:1.3rem;margin:0}.admin-main{padding:2rem;max-width:1200px;margin:0 auto}.admin-actions{margin-bottom:1.5rem}.admin-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:2rem}.admin-card h3{color:var(--primary);margin-bottom:1rem;font-size:1.1rem}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:1rem;text-align:left;font-weight:600;color:var(--text-light);font-size:.85rem;text-transform:uppercase}.admin-table td{padding:1rem;border-bottom:1px solid var(--border)}.admin-table tbody tr:hover{background:#3498db0d}.user-form{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.user-form input,.user-form select{padding:.75rem 1rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;min-width:180px}.user-form input:focus,.user-form select:focus{outline:none;border-color:var(--secondary)}.role-badge{padding:.3rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-god{background:linear-gradient(135deg,#8e44ad,#9b59b6);color:#fff}.role-admin{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.role-user{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff}.btn-edit{background:var(--secondary);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem}.btn-edit:hover{background:#2980b9}.btn-delete{background:var(--accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;margin-left:.5rem}.btn-delete:hover{background:#c0392b}.logs-table{font-size:.9rem}.logs-table .action-badge{padding:.3rem .6rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase}.badge-crear{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.badge-eliminar{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.badge-subir{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.badge-estado{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.user-info-cell{display:flex;flex-direction:column}.user-info-cell small{color:var(--text-light);font-size:.85rem}.detalle-cell{font-size:.9rem;color:var(--text)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .5s ease}.estado-form{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.estado-form input[type=text]{padding:.75rem 1rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;min-width:200px}.estado-form input[type=text]:focus{outline:none;border-color:var(--secondary)}.color-input{width:50px;height:40px;border:none;border-radius:var(--radius-sm);cursor:pointer}.estados-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.estado-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg);border-radius:var(--radius-sm);border-left:4px solid}.estado-badge{padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;color:#fff}.dashboard{min-height:100vh;background:var(--bg)}.dashboard .header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #1a1a2e33;position:sticky;top:0;z-index:1000}.dashboard .header-brand{display:flex;align-items:center;gap:1rem}.dashboard .header-logo{height:45px}.dashboard .header h1{color:#fff;font-size:1.4rem;font-weight:600;margin:0}.dashboard .user-info{display:flex;align-items:center;gap:1.5rem}.dashboard .user-info>span{color:#ffffffe6;font-size:.9rem;font-weight:500}.dashboard .header-buttons{display:flex;gap:.75rem}.dashboard .nav-btn{background:#ffffff26;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.6rem 1.2rem;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:.9rem;font-weight:500;transition:var(--transition)}.dashboard .nav-btn:hover{background:#ffffff40;transform:translateY(-2px)}.dashboard .logout-btn{background:var(--accent);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:var(--transition)}.dashboard .logout-btn:hover{background:#c0392b;transform:translateY(-2px)}.dashboard .main{padding:2rem;max-width:1400px;margin:0 auto}.dashboard .actions-bar{display:flex;gap:1rem;margin-bottom:2rem}.dashboard .btn{padding:.75rem 1.5rem;border-radius:var(--radius-sm);text-decoration:none;font-size:1rem;font-weight:500;cursor:pointer;border:none;transition:var(--transition)}.dashboard .btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff}.dashboard .btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.dashboard .search-bar{margin-bottom:2rem}.dashboard .search-input{width:100%;padding:1rem 1.5rem;border:2px solid var(--border);border-radius:var(--radius);font-size:1rem;transition:var(--transition);background:var(--bg-card)}.dashboard .search-input:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 4px #3498db1a}.dashboard .expedientes-list{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.dashboard .expedientes-list h2{padding:1.5rem 1.5rem .5rem;color:var(--primary);font-size:1.3rem;margin:0}.dashboard .expedientes-list table{width:100%;border-collapse:collapse}.dashboard .expedientes-list thead{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.dashboard .expedientes-list th{padding:1rem 1.5rem;text-align:left;font-weight:600;color:var(--text-light);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.dashboard .expedientes-list td{padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.dashboard .expedientes-list tbody tr{transition:var(--transition)}.dashboard .expedientes-list tbody tr:hover{background:#3498db0d}.dashboard .badge{padding:.3rem .6rem;border-radius:20px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.dashboard .badge-finalizado{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.dashboard .badge-proceso{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.dashboard .cell-numero{font-weight:600;color:var(--primary)}.dashboard .cell-actions{display:flex;gap:.5rem}.dashboard .btn-action{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;border:none;transition:var(--transition)}.dashboard .btn-view{background:var(--secondary);color:#fff}.dashboard .btn-view:hover{background:#2980b9;transform:translateY(-2px)}.dashboard .btn-download{background:var(--accent)!important;color:#fff!important}.dashboard .btn-download:hover{background:#c0392b!important;transform:translateY(-2px);box-shadow:0 4px 15px #e74c3c66}.dashboard .btn-download:disabled{opacity:.6;cursor:not-allowed}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 50%,#0f3460 100%);padding:1rem}.login-box{background:#fff;padding:3rem;border-radius:var(--radius);box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px;animation:slideUp .5s ease}.login-logo{text-align:center;margin-bottom:1.5rem}.login-logo img{height:80px;width:auto}.login-box h1{text-align:center;margin-bottom:2rem;color:var(--primary);font-size:1.5rem}.login-box .form-group{margin-bottom:1.5rem}.login-box .form-group label{display:block;margin-bottom:.5rem;color:var(--text);font-weight:500}.login-box .form-group input{width:100%;padding:1rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:var(--transition)}.login-box .form-group input:focus{outline:none;border-color:var(--secondary)}.login-box button[type=submit]{width:100%;padding:1rem;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition)}.login-box button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 10px 30px #1a1a2e4d}.login-box button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-box .error{background:#e74c3c1a;color:var(--accent);padding:.75rem;border-radius:var(--radius-sm);text-align:center;margin-bottom:1rem;font-size:.9rem}@media (max-width: 768px){.dashboard .header{flex-direction:column;gap:1rem;padding:1rem}.dashboard .header-buttons{flex-wrap:wrap;justify-content:center}.dashboard .main{padding:1rem}.dashboard .expedientes-list th,.dashboard .expedientes-list td{padding:.75rem;font-size:.85rem}.dashboard .cell-actions{flex-direction:column;gap:.25rem}.login-box{padding:2rem}}.estado{width:150px}.btn-obs{background:var(--secondary);color:#fff;min-width:40px}.btn-obs:hover{background:#2980b9}.obs-meta{margin:0;font-size:.85rem;color:var(--text-light);display:flex;justify-content:space-between;align-items:center}.obs-form .btn{align-self:flex-end}.nuevo-expediente{min-height:100vh;background:var(--bg)}.nuevo-expediente .header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #1a1a2e33}.nuevo-expediente .header-brand{display:flex;align-items:center;gap:1rem}.nuevo-expediente .header-logo{height:45px}.nuevo-expediente .header h1{margin:0;font-size:1.4rem}.nuevo-expediente .back-btn{background:#ffffff26;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:500}.nuevo-expediente .back-btn:hover{background:#ffffff40}.nuevo-expediente .main{padding:2rem;max-width:600px;margin:0 auto}.nuevo-expediente .form{background:var(--bg-card);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow)}.nuevo-expediente .form-group{margin-bottom:1.5rem}.nuevo-expediente .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text)}.nuevo-expediente .form-group input,.nuevo-expediente .form-group textarea{width:100%;padding:1rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:var(--transition)}.nuevo-expediente .form-group input:focus,.nuevo-expediente .form-group textarea:focus{outline:none;border-color:var(--secondary)}.nuevo-expediente .form-group textarea{resize:vertical;min-height:100px}.nuevo-expediente .btn{padding:1rem 2rem;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;border:none}.nuevo-expediente .btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;width:100%;transition:var(--transition)}.nuevo-expediente .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #1a1a2e4d}.nuevo-expediente .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.nuevo-expediente .header{flex-direction:column;gap:1rem;padding:1rem}.nuevo-expediente .main{padding:1rem}.nuevo-expediente .form{padding:1.5rem}}.expediente-detalle{min-height:100vh;background:var(--bg)}.expediente-detalle .header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #1a1a2e33}.expediente-detalle .header-brand{display:flex;align-items:center;gap:1rem}.expediente-detalle .header-logo{height:45px}.expediente-detalle .header h1{margin:.5rem 0 0;font-size:1.3rem}.expediente-detalle .back-btn{background:#ffffff26;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;margin-bottom:.25rem;display:inline-block}.expediente-detalle .back-btn:hover{background:#ffffff40}.expediente-detalle .header-actions{display:flex;gap:.75rem;align-items:center}.expediente-detalle .btn-download{background:var(--accent)!important;color:#fff!important;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:500}.expediente-detalle .btn-download:hover{background:#c0392b!important}.expediente-detalle .btn-obs-header{background:var(--secondary);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;border:none}.expediente-detalle .btn-obs-header:hover{background:#2980b9}.expediente-detalle .btn-delete{background:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-sm);cursor:pointer}.expediente-detalle .btn-delete:hover{background:#c0392b}.expediente-detalle .btn-edit{background:#f39c12!important;color:#fff!important;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;border:none}.expediente-detalle .btn-edit:hover{background:#d68910!important}.expediente-detalle .estado-select{padding:.6rem 1rem;border-radius:var(--radius-sm);border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-size:.9rem;cursor:pointer}.expediente-detalle .estado-select option{color:var(--text);background:#fff}.expediente-detalle .main{padding:2rem;max-width:1000px;margin:0 auto}.expediente-detalle .descripcion{background:var(--bg-card);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem}.expediente-detalle .descripcion strong{color:var(--primary)}.expediente-detalle .upload-section{background:var(--bg-card);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:2rem}.expediente-detalle .upload-section h3{margin:0 0 1rem;color:var(--primary);font-size:1.1rem}.expediente-detalle .upload-buttons{margin-bottom:1rem}.expediente-detalle .btn-merge{background:linear-gradient(135deg,#8e44ad,#9b59b6);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-sm);cursor:pointer;border:none;font-size:1rem;font-weight:500}.expediente-detalle .btn-merge:hover{background:#732d91}.expediente-detalle .upload-form{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.expediente-detalle .upload-form select,.expediente-detalle .upload-form input{padding:.75rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem}.expediente-detalle .upload-form select:focus,.expediente-detalle .upload-form input:focus{outline:none;border-color:var(--secondary)}.expediente-detalle .btn-primary{background:var(--primary);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:500}.expediente-detalle .btn-primary:hover{background:var(--primary-light)}.expediente-detalle .btn-primary:disabled{opacity:.6;cursor:not-allowed}.expediente-detalle .documentos-section h3{color:var(--primary);font-size:1.1rem;margin-bottom:1rem}.expediente-detalle .no-docs{text-align:center;color:var(--text-light);padding:3rem;background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow)}.expediente-detalle .documentos-timeline{display:flex;flex-direction:column;gap:1rem}.expediente-detalle .documento-card{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border-left:4px solid;transition:var(--transition)}.expediente-detalle .documento-card:hover{box-shadow:var(--shadow-hover)}.expediente-detalle .doc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.expediente-detalle .doc-tipo{color:#fff;padding:.3rem .7rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase}.expediente-detalle .doc-num{color:var(--text-light);font-size:.9rem}.expediente-detalle .doc-info{margin-bottom:1rem}.expediente-detalle .doc-filename{margin:0;font-weight:500;color:var(--text);font-size:1rem}.expediente-detalle .doc-observacion{margin:.5rem 0;font-size:.9rem;color:#e67e22;background:#fef5e7;padding:.5rem .75rem;border-radius:var(--radius-sm);border-left:3px solid #e67e22}.expediente-detalle .doc-meta{margin:.5rem 0 0;font-size:.85rem;color:var(--text-light)}.expediente-detalle .doc-actions{display:flex;gap:.75rem;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal{background:#fff;border-radius:var(--radius);width:100%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.2rem}.modal-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.obs-list{margin-bottom:1.5rem}.no-obs{text-align:center;color:var(--text-light);padding:2rem}.obs-item{background:var(--bg);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem;border-left:3px solid var(--secondary)}.obs-contenido{margin:0 0 .5rem;color:var(--text)}.obs-meta{margin:0;font-size:.85rem;color:var(--text-light);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.btn-delete-small{background:var(--accent);color:#fff;border:none;padding:.3rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer}.btn-delete-small:hover{background:#c0392b}.obs-form{display:flex;gap:1rem;flex-direction:column}.obs-form textarea{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;resize:vertical}.obs-form textarea:focus{outline:none;border-color:var(--secondary)}.obs-form .btn-primary{align-self:flex-end}.expediente-detalle .btn-view{background:var(--secondary);color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;display:inline-block}.expediente-detalle .btn-view:hover{background:#2980b9}.expediente-detalle .btn-edit-obs{background:#9b59b6;color:#fff;border:none;padding:.5rem .8rem;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer}.expediente-detalle .btn-edit-obs:hover{background:#8e44ad}.expediente-detalle .btn-append{background:#27ae60;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer}.expediente-detalle .btn-append:hover{background:#1e8449}.expediente-detalle .btn-delete-doc{background:var(--accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer}.expediente-detalle .btn-delete-doc:hover{background:#c0392b}.expediente-detalle .btn-edit-small{background:#f39c12;color:#fff;border:none;padding:.3rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;margin-left:.25rem}.expediente-detalle .btn-edit-small:hover{background:#d68910}.expediente-detalle .loading{text-align:center;padding:4rem;color:var(--text-light);font-size:1.1rem}@media (max-width: 768px){.expediente-detalle .header{flex-direction:column;gap:1rem;padding:1rem}.expediente-detalle .header-actions{flex-wrap:wrap;justify-content:center}.expediente-detalle .main{padding:1rem}.expediente-detalle .upload-form{flex-direction:column;align-items:stretch}.expediente-detalle .doc-actions{flex-direction:column}}
