*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0f2f5;color:#333;line-height:1.5}.app{max-width:960px;margin:0 auto;padding:16px}.header{display:flex;justify-content:space-between;align-items:center;background:#1a237e;color:#fff;padding:12px 24px;border-radius:8px;margin-bottom:24px}.header h1{font-size:1.3rem;font-weight:600}.header nav{display:flex;gap:8px}.header nav button{background:#ffffff26;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.875rem}.header nav button.active{background:#ffffff4d;font-weight:600}.header nav button:hover{background:#ffffff40}.card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001f;margin-bottom:24px}.card h2{font-size:1.1rem;margin-bottom:16px;color:#1a237e}fieldset{border:1px solid #e0e0e0;border-radius:6px;padding:16px;margin-bottom:16px}legend{font-weight:600;color:#555;font-size:.875rem;padding:0 8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:.8rem;font-weight:500;color:#555}.field input,.field select,.field textarea{padding:8px 10px;border:1px solid #ccc;border-radius:4px;font-size:.9rem}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#1a237e;box-shadow:0 0 0 2px #1a237e26}textarea{width:100%;resize:vertical;font-family:inherit}.btn-primary{background:#1a237e;color:#fff;border:none;padding:10px 24px;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500}.btn-primary:hover{background:#283593}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.admin-bar{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:12px 24px;border-radius:8px;margin-bottom:16px;box-shadow:0 1px 3px #0000001f;font-weight:600}.admin-bar button{background:#e53935;color:#fff;border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:.85rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #eee}th{font-weight:600;color:#555;background:#fafafa}td.actions{white-space:nowrap}.btn-approve{background:#43a047;color:#fff;border:none;padding:5px 12px;border-radius:3px;cursor:pointer;margin-right:4px;font-size:.8rem}.btn-reject{background:#e53935;color:#fff;border:none;padding:5px 12px;border-radius:3px;cursor:pointer;font-size:.8rem}.btn-approve:hover{background:#388e3c}.btn-reject:hover{background:#c62828}.btn-delete{background:transparent;color:#e53935;border:1px solid #e53935;padding:3px 10px;border-radius:3px;cursor:pointer;font-size:.75rem}.btn-delete:hover{background:#e53935;color:#fff}.btn-retry{background:transparent;color:#f57c00;border:1px solid #f57c00;padding:3px 10px;border-radius:3px;cursor:pointer;font-size:.75rem}.btn-retry:hover{background:#f57c00;color:#fff}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge.completado{background:#e8f5e9;color:#2e7d32}.badge.rechazado{background:#fbe9e7;color:#c62828}.badge.pendiente{background:#fff8e1;color:#f57f17}.error-msg{background:#fbe9e7;color:#c62828;padding:10px 14px;border-radius:4px;margin-bottom:12px;font-size:.875rem}.field-error{display:block;color:#c62828;font-size:.8rem;margin-top:4px}.success-msg{background:#e8f5e9;color:#2e7d32;padding:10px 14px;border-radius:4px;margin-bottom:12px;font-size:.875rem}.success{text-align:center;padding:40px 24px}.success h2{margin-bottom:8px}.muted{color:#999;font-style:italic}.checkbox-inline{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-weight:400;font-size:.9rem;line-height:1.4}.checkbox-inline input[type=checkbox]{margin-top:3px}.lopd-check{font-size:.8rem;color:#555;padding:8px 0}.btn-secondary{background:#e8eaf6;color:#1a237e;border:1px solid #c5cae9;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:.85rem;margin-top:8px}.btn-secondary:hover{background:#c5cae9}.admin-tabs{display:flex;gap:4px;margin-bottom:12px}.admin-tabs .btn-primary,.admin-tabs .btn-secondary{margin-top:0;font-size:.85rem;padding:7px 14px}.btn-remove{background:transparent;color:#e53935;border:1px solid #e53935;padding:2px 10px;border-radius:3px;cursor:pointer;font-size:.75rem}.sub-person{background:#f8f9ff;border:1px solid #e0e0e0;border-radius:6px;padding:12px;margin-bottom:12px}.sub-person-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sub-person-header strong{font-size:.85rem;color:#1a237e}.checkin-card{border:1px solid #e0e0e0;border-radius:6px;margin-bottom:8px;overflow:hidden}.checkin-summary{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;transition:background .15s}.checkin-summary:hover{background:#f5f5f5}.checkin-summary .meta{display:block;font-size:.8rem;color:#888}.checkin-detail fieldset{margin-top:12px;padding:12px;border:1px solid #ddd;border-radius:6px}.checkin-detail fieldset legend{font-weight:700;color:#1a237e;font-size:.9rem;padding:0 6px}.checkin-summary .actions{display:flex;align-items:center;gap:6px}.expand-icon{font-size:.7rem;color:#999;margin-left:8px}.checkin-detail{padding:8px 16px 16px;border-top:1px solid #eee}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font-size:.9rem;padding:16px 0}.detail-grid label{font-weight:600;color:#555;font-size:.82rem;display:block;margin-bottom:2px}.detail-grid input,.detail-grid select{width:100%;padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:.85rem}.detail-grid .field-empty label{color:#d32f2f}.detail-grid .field-empty input,.detail-grid .field-empty select{border-color:#d32f2f;background:#fff5f5}.sub-section{margin-top:8px}.sub-section h4{font-size:.85rem;color:#1a237e;margin-bottom:4px}.sub-person-card{font-size:.85rem;padding:8px 0;color:#555}.sub-person-card .field-empty label{color:#d32f2f}.sub-person-card .field-empty input{border-color:#d32f2f;background:#fff5f5}@media (max-width: 768px){.app{padding:8px}.header{flex-direction:column;gap:8px;padding:12px}.header h1{font-size:1.1rem}.header nav{width:100%}.header nav button{flex:1;text-align:center;font-size:.8rem;padding:8px}.card{padding:16px}.card h2{font-size:1rem}.form-grid,.detail-grid{grid-template-columns:1fr}.checkin-summary{flex-direction:column;align-items:flex-start;gap:8px}.checkin-summary .actions{width:100%;justify-content:flex-end}.btn-primary,.btn-approve,.btn-reject{padding:10px 16px}.admin-tabs .btn-primary,.admin-tabs .btn-secondary{font-size:.8rem;padding:6px 12px}.btn-approve,.btn-reject{flex:1}.admin-bar{flex-direction:column;gap:8px;text-align:center}.admin-tabs{flex-wrap:wrap}.admin-tabs button{flex:1 1 auto;min-width:0}.table-wrap table{font-size:.72rem}th,td{padding:5px 3px;white-space:nowrap}td[style*=flex]{flex-wrap:wrap;gap:2px}td[style*=flex] button{font-size:.65rem;padding:3px 6px}.sub-person{padding:8px}fieldset{padding:10px}.field input,.field select,.detail-grid input,.detail-grid select{font-size:.82rem;padding:7px 8px}.checkin-detail{padding:6px 10px 12px}.checkin-summary .meta{font-size:.75rem}.badge{font-size:.65rem;padding:1px 6px}.success-msg,.error-msg{font-size:.8rem;padding:8px}.btn-secondary{padding:5px 12px;font-size:.8rem}}@media (max-width: 480px){.app{padding:4px}.header{padding:8px 10px;border-radius:6px}.header h1{font-size:.95rem}.header nav{gap:4px}.header nav button{font-size:.72rem;padding:6px 4px}.card{padding:10px;border-radius:6px;margin-bottom:12px}.card h2{font-size:.9rem;margin-bottom:10px}.checkin-card{margin-bottom:6px}.checkin-summary{padding:8px 10px}.checkin-summary strong{font-size:.82rem}.checkin-summary .actions{gap:4px}.btn-approve,.btn-reject{font-size:.72rem;padding:7px 10px}.expand-icon{margin-left:4px}.admin-tabs{gap:3px}.admin-tabs button{font-size:.68rem;padding:5px 6px}.table-wrap table{font-size:.65rem}th,td{padding:4px 2px}td[style*=flex] button{font-size:.6rem;padding:2px 4px}.btn-secondary{padding:4px 8px;font-size:.72rem}fieldset{padding:6px}fieldset legend{font-size:.78rem}.badge{font-size:.6rem}.muted{font-size:.78rem}}
